This is the required form , in which it "binds" the values ββfrom the expression with the name x in turn. Thus, this phrase means the expression that binds the names with the values. It is part of the "destructive binding forms" that bind the names to the parts of the composite value, such as a list or map.
The term "binding" instead of "installation" helps convey the difference between what it does and setting variables in some other programming languages. The name is attached to the time value that is required for the form inside doseq start, then this name is freed to bind to another value.
Clojure offers an arbitrary structural reference for specifying the names of any part of the value in most places in the language that assigns names (anchor characters)
(doseq [[x1 x2] [[-1 -1] [0 0] [1 1]] y [1 2 3]] (prn (* x1 x2 y)))
It is also a binding expression, although it looks a little deeper in the data and assigns names to two values ββfor each element in the first vector (and assumes that there are two numbers in each of them). I really love this destruction / binding tutorial
source share