Size: a a a

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

2019 December 18

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Airat Burganov
А какой должен быть эффект от этого?
Я отвечал на этот вопрос.
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Думаю, что изначальный автор эту разницу не подразумевал, потому что or перезатрет nil, который выставлен явно.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
ну тогда многословно получается
(let [m {}]
 (cond-> m
         (not (contains? m
:b)) (assoc :b 2)))

Но как часто оно надо?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
бывает что нужно, осоденно когда запросы к апи валидируешь
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
да. бывает
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
в этом случае перезатрется nil если он был эксплицитно проставлен
Это прямо ошибка, которую всем хочется повторить. Пусть уж nil значит что-то одно, типа «нетуть здеся значениев»
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Это прямо ошибка, которую всем хочется повторить. Пусть уж nil значит что-то одно, типа «нетуть здеся значениев»
1. расскажите это всем на свете
===== вы находитесь здесь =====
2. убедите их что так правильно
3. заставьте переписать все что уже написано на такой паттерн
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Это прямо ошибка, которую всем хочется повторить. Пусть уж nil значит что-то одно, типа «нетуть здеся значениев»
тогда появится undefined, maybe и прочая хрень
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Я про то, что кто-то хочет явно выставлять nil
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
есть редкие случаи, когда намеренный nil имеет смысл
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Я бы сказал очень редкие, прямо даже не приходит в голову. Зато добавленная семантика меня прямо сходу начинает смущать.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
простейший пример: в edn тебе приходит :default nil и у тебя есть super-default которым ты заменишь тот что пришел, хотя на самом деле nil нужно использовать
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Это простейший пример того, как не нужно добавлять семантику nil?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
семантика nil это не “отсутствие значения” а nil
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
который тоже может быть использован как значение
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Возможно. Но пример так себе.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
по твоему в core зазря добавили contains?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Oleg Roshchupkin
Возможно. Но пример так себе.
извини) но зато реальный, совсем недавно на такое напоролся
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Ну так, хреновый дизайн это не про семантику, наверное.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
по твоему в core зазря добавили contains?
Откуда выводы?
источник