Size: a a a

Clojure — русскоговорящее сообщество

2021 February 23

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
(some-> (cheap)
       (and (expensive))
       some-fn)

или так, но юзать макросы в тредах нехорошо
источник

D

Dos in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
(some-> (cheap)
       (and (expensive))
       some-fn)

или так, но юзать макросы в тредах нехорошо
спасибо
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
А в чем это выражается? Бьют по рукам если что-то другое используешь?
Нет, просто стебут...
источник

IR

Ingrid Raines in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
(some-> (cheap)
       (and (expensive))
       some-fn)

или так, но юзать макросы в тредах нехорошо
Что здесь макрос, some? И почему нехорошо?
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Ingrid Raines
Что здесь макрос, some? И почему нехорошо?
and
источник

ap

andei papkov in Clojure — русскоговорящее сообщество
Я думал это функция
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Ingrid Raines
Что здесь макрос, some? И почему нехорошо?
потому что макросы могут полностью менять синтаксис, и в теории можно запутать человека, который будет код поддерживать, потому лучше так не делать ваще
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
andei papkov
Я думал это функция
к счастью, нет
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
функция жадная и будет эвалить всё, а and прекрасен тем, что там короткое замыкание
источник

D

Dos in Clojure — русскоговорящее сообщество
и partial нельзя)
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Dos
и partial нельзя)
а partial как раз функция
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dos
как бы сделать, чтобы expensive-call вызвался один раз и только когда cheap-call вернет true
я бы в delay завернул
источник

D

Dos in Clojure — русскоговорящее сообщество
(partial or) имел ввиду
источник

IR

Ingrid Raines in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
(some-> (and (cheap) (expensive))
       some-fn)
Значит этот вариант тоже не ок?
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Dos
(partial or) имел ввиду
низя же
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Ingrid Raines
Значит этот вариант тоже не ок?
этот ок, хотя некоторым не нравится, когда в some-> всего лишь два аргумента
источник

D

Dos in Clojure — русскоговорящее сообщество
да, нельзя
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Ingrid Raines
Значит этот вариант тоже не ок?
а ещё можно сделать, чтобы expensive принимал дополнительный аргумент и например сделать так
(some-> (cheap)
       expensive
       some-fn)
источник

D

Dos in Clojure — русскоговорящее сообщество
Sergey Trofimov
я бы в delay завернул
delay мне кажется добавить дополнительную нагрузку на чтение кода)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dos
delay мне кажется добавить дополнительную нагрузку на чтение кода)
  (let [e (delay (expensive-call))]
   (when (and (cheap-call) @e)
     (some-fn @e)))
источник