Ответ 1
Да, это действительно вектор. Мы видим, что, создавая функцию вручную, а затем оценивая ее:
(eval (list (list 'fn (vector 'x) (list '* 'x 2)) 100))
;=> 200
Надеюсь, что это поможет.
Являются ли квадратные скобки вокруг аргументов в Clojure defn
, defmacro
и binding
(я забыл некоторые?), действительно создавая вектор или это просто вопрос синтаксиса, в результате чего аргументы выделяются из остальное?
Я читаю Clojure в действии, в котором говорится:
Clojure использует векторы для обозначения аргументы функции или формы привязки.
из-за чего я задал этот вопрос здесь.
Да, это действительно вектор. Мы видим, что, создавая функцию вручную, а затем оценивая ее:
(eval (list (list 'fn (vector 'x) (list '* 'x 2)) 100))
;=> 200
Надеюсь, что это поможет.