Czy nawiasy kwadratowe wokół argumentów w Clojure's defn
, defmacro
i binding
(czy ja zapominam o niektórych?) Naprawdę tworzą wektor, czy jest to tylko kwestia składni, co sprawia, że argumenty odróżniają się od reszty?Czy nawiasy kwadratowe w defn, defmacro i bindowaniu Clojure's są wektorem?
Czytam Clojure w działaniu, które stwierdza:
Clojure wykorzystuje wektory do oznaczenia argumenty funkcji lub formy wiążące.
, która sprawiła, że zadałem to pytanie tutaj.
Świetnie, dzięki :) –
Jedno pytanie (po dwóch i pół roku ...), dlaczego nie jest to akceptowane? (defn foo (wektor 'x' y) (+ x y)) –
Formularz 'defn' jest makrem, więc w momencie jego zbadania (czas ekspansji makro) nic nie zostało ocenione. Tak więc, gdy patrzy na formę wiążącą, oczekuje wektora, ale zamiast tego widzi listę '(wektor (quote x) (quote y))'. – fogus