Size: a a a

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

2021 August 19

AF

Andrey Fёdorov in Clojure — русскоговорящее сообщество
Замена по предикату или в конкретные мапы в конкретнх местах?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
(update-in top-map [:foo :bar] fn-update-nested-map)
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
если просто ключик подсунуть, то assoc-in
источник

SP

Stas P in Clojure — русскоговорящее сообщество
ну если вкратце мне надо сходить по пути а - б - ц - д - е. и если там икс то правим значение в пути а б ц д ж
источник

SP

Stas P in Clojure — русскоговорящее сообщество
и в пути к м н
источник

SP

Stas P in Clojure — русскоговорящее сообщество
задача как три рубля простая. но с кложей чот много вариаций как это сделать
источник

SP

Stas P in Clojure — русскоговорящее сообщество
я сделал такую функцию (def set-unknown  (fn [e] (if (= (:schemeId e) scheme-email) (assoc e :id "UNKNOWN") e)))
источник

SP

Stas P in Clojure — русскоговорящее сообщество
и потом вот так (-> res :data :accountingCustomerParty :endpoint set-unknown)
источник

SP

Stas P in Clojure — русскоговорящее сообщество
а потом результат через ассок. но выглядит стремно
источник

SP

Stas P in Clojure — русскоговорящее сообщество
на хардкод смотреть не надо это просто образно
источник

SP

Stas P in Clojure — русскоговорящее сообщество
а есть какие нибудь модные приблуды чтоб менять по предикату?
источник

SP

Stas P in Clojure — русскоговорящее сообщество
а если предикат не выстрелил то вернуть как есть. или только через ифы?
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
update-in, не?
источник

SP

Stas P in Clojure — русскоговорящее сообщество
спс почитаю
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
cond->, может быть, вроде бы он есть
источник

SP

Stas P in Clojure — русскоговорящее сообщество
ачто конд сделает если не выстрелит предикат? вернет как етсть?
источник

AB

Alex Bubnov in Clojure — русскоговорящее сообщество
По идее да, но нужно уточнить
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Вернёт
источник

SM

Stas Makarov in Clojure — русскоговорящее сообщество
Приветствую. У меня тут вопрос больше про БД, но и про Кложу. Стек: postgres + honeySQL.
Увидел у коллеги подобный код в ПР:
CREATE TABLE t
(
   ...
   a boolean,  b boolean,  c boolean,  d  boolean
   ...
);
Скорее всего в только в одном значении столбцов будет true, в остальных false либо null. Слишком много (больше десятка) столбцов не ожидается. Производительность тоже не особо принципиальна, скорее читабельность и удобство пользования.

Интуиция говорит что один столбец енум (массив енумов) или jsonb будет лучше смотреться. Но какие еще могут быть аргументы за/против?

1) *несколько столбцов boolean*
плюсы: эффективнее?
минусы: чет некрасиво, надо делать ALTER TABLE если хочется добавить значение

2) *enum/array of enums*
плюсы: наверное самое эффективное
минусы: ALTER TABLE, вероятно немного лишней работы  (придётся писать код для маршалинга/анмаршалинга)

3) *jsonb*
плюсы: проще всего работать (?)
минусы: консистентность (можем записать фигню). но можно заюзать триггеры
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Скорее всего в только в одном значении столбцов будет true, в остальных false либо null.
так «скорее всего» или это по определению «радио-кнопки»?
источник