Невозможно задать привязку let
вне формы let
. Проблема 4clojure не просит вас сделать это, хотя я понимаю, почему вы пытаетесь сделать то, что показали (def
ining __
, чтобы быть буквальным вектором).
Что делает 4clojure за Сцена здесь принимает ваши буквенные входные и макрорасширяющиеся формы так, чтобы ваш ввод находился там, где был бы __
. Он делает что-то вроде этого:
user=> (let [__ '[x 7 y 3 z 1]] `(let ~__ (+ ~'x ~'y)))
(clojure.core/let [x 7 y 3 z 1] (clojure.core/+ x y))
и затем оценивает результат:
user=> (clojure.core/let [x 7 y 3 z 1] (clojure.core/+ x y))
10
4clojure ожидает этот буквенный вектор без кавычки.