2009-06-19 7 views
12

Я хочу использовать значение переменной для вычисления значения другой переменной в том же самом выражении let. Есть ли способ сделать это в Clojure без использования вложенных пропусков?Связывание нескольких связанных переменных в Clojure без вложенных let

Уплотненное пусть решение:

(let [x 3] 
    (let [y (+ 1 x)] 
    y)) = 4 

Желаемое решение:

(let [x 3 
     y (+ 1 x)] 
    y) = 4 

ответ

12

Ничего, искомое решение работает отлично. Интересно, почему у меня были проблемы с этим раньше?

+0

У меня была одна и та же проблема, оказалось, что я использовал переменную в цитируемой форме и, как таковой, ее не оценивали. –