Size: a a a

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

2021 March 21

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Классы давайте добавим. Иногда ведь правда удобно.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Anton Chikin
Нет изменяемых переменных? Ну, давайте заведем - в 1% случаев удобно же
Сделаем так что вот при каких-то условиях таки можно изменить. А при каких-то - нельзя.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Anton Chikin
Нет изменяемых переменных? Ну, давайте заведем - в 1% случаев удобно же
Есть, они тоже уже – transient
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
И это такой же 1%
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mike Bohdan
Есть, они тоже уже – transient
transient сначала делает копию. при применении transient изначальный биндинг не меняется
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Нельзя взять обычный def и поменять через транзиент
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Transients do not support the persistent interface of the source data structure. assoc, conj etc will all throw exceptions, because transients are not persistent. Thus you cannot accidentally leak a transient into a context requiring a persistent.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Т.е. мало того что ты делаешь копию - на ней отключаются обычные иммутабельные операции
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Это очень умно.
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Ну так и тут сделали умный способ передавать флаги в функцию, в чем проблема? Сейчас просто поменяли с обязательного (foo 1 :b 2 :c 3) на возможность  передавать все одним аргументом вида (foo 1 {:a 2 :b 3})
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mike Bohdan
Ну так и тут сделали умный способ передавать флаги в функцию, в чем проблема? Сейчас просто поменяли с обязательного (foo 1 :b 2 :c 3) на возможность  передавать все одним аргументом вида (foo 1 {:a 2 :b 3})
ИЛИ (foo 1 :a 2 :b 3)
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
2 параметра
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
5 параметров
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Anton Chikin
5 параметров
Или 2 или 3
источник

AC

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

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
А то просто имена
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Чтож не понятного то?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Mike Bohdan
А то просто имена
В кложе нет именованных параметров
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Я вижу 5 параметров
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Anton Chikin
В кложе нет именованных параметров
Ну как нету если есть, через кривой синтаксис но есть же, вот они
источник