Квадратные скобки в defn Clojure, defmacro и связывающий действительно вектор?

Квадратные скобки вокруг аргументов в Clojure defn, defmacro и binding (я забываю некоторых?) действительно создание вектора или это - просто вопрос синтаксиса, приводя, что аргументы стоят из остальных?

Я читаю Clojure в Действии, которое указывает:

Clojure использует векторы для обозначения аргументов функции или обязательных форм.

который заставил меня задать этот вопрос здесь.

13
задан Michiel Borkent 29 March 2010 в 18:17
поделиться

1 ответ

Да, это действительно вектор. Мы можем убедиться в этом, создав функцию вручную и затем оценив ее:

(eval (list (list 'fn (vector 'x) (list '* 'x 2)) 100))
;=> 200

Надеюсь, что это поможет.

20
ответ дан 1 December 2019 в 22:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: