позвольте по сравнению с определением в clojure

Вы можете сделать это еще хуже и использовать запятые, смотрите!

doc.name = doc.name === offer.title ? doc.name : (shouldUpdate = true, offer.title);
doc.uri = doc.uri || (shouldUpdate = true, encodeURI(offer.title));
doc.info = doc.info || (shouldUpdate = true, {
      activation: offer.activation,
      image: offer.image
});
36
задан Micah Elliott 12 February 2018 в 22:09
поделиться

5 ответов

Проблема состоит в том, что Ваше использование let является неправильным.

работы, которым Позволяют, как это:

(let [identifier (expr)])

, Таким образом, Ваш пример должен быть чем-то вроде этого:

(let [s (Scanner. "a b c")]
  (exprs))

можно только использовать лексическую привязку, сделанную с позволенным в рамках позволенного (открытие и закрытие parens). Позвольте просто создает ряд лексической привязки. Я использую определение для того, чтобы сделать глобальную привязку, и позволяет для привязки чего-то, что я хочу только в пределах позволенного, поскольку это содержит вещи в чистоте. У них обоих есть свое использование.

ПРИМЕЧАНИЕ: (Класс). совпадает с (новый Класс), это - просто синтаксический сахар.

53
ответ дан mikera 27 November 2019 в 05:15
поделиться

ПОЗВОЛЕННЫЙ не, "делают лексическую привязку в текущей области", но "делают новый лексический контекст со следующей привязкой".

(let [s (foo whatever)]
  ;; s is bound here
  )
;; but not here
(def s (foo whatever))
;; s is bound here
33
ответ дан Svante 27 November 2019 в 05:15
поделиться

Упрощенный: определение для глобальных констант, позволяют , для локальных переменных.

12
ответ дан Marko 27 November 2019 в 05:15
поделиться

Правильный синтаксис:

(let [s (Scanner. "a b c")] ...)
12
ответ дан ayrnieu 27 November 2019 в 05:15
поделиться

Синтаксис для них отличается, даже если значения связаны.

позволяют, берет список привязки (пары значение-имя), сопровождаемые выражениями для оценки в контексте тех, которые связывают.

определение просто берет привязку того, не список, и добавляет его к глобальному контексту.

4
ответ дан MarkusQ 27 November 2019 в 05:15
поделиться
Другие вопросы по тегам:

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