This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-07-31
Channels
- # beginners (153)
- # cider (30)
- # cljs-dev (8)
- # cljsrn (8)
- # clojure (105)
- # clojure-dev (6)
- # clojure-dusseldorf (5)
- # clojure-italy (6)
- # clojure-nl (3)
- # clojure-russia (34)
- # clojure-spec (23)
- # clojure-uk (54)
- # clojurescript (104)
- # core-matrix (3)
- # crypto (1)
- # cursive (17)
- # datomic (90)
- # duct (13)
- # editors (5)
- # emacs (1)
- # events (1)
- # figwheel-main (9)
- # fulcro (54)
- # hoplon (18)
- # hyperfiddle (2)
- # jobs-rus (1)
- # lein-figwheel (5)
- # leiningen (3)
- # luminus (52)
- # mount (6)
- # off-topic (22)
- # other-languages (3)
- # parinfer (7)
- # powderkeg (3)
- # re-frame (52)
- # reagent (58)
- # rum (4)
- # shadow-cljs (49)
- # spacemacs (12)
- # sql (13)
- # tools-deps (2)
- # yada (1)
=> (let [a [:a0 nil :a1 nil]
b [:b0 :b1]]
(foo a b))
[:b0 nil :b1 nil]
Есть у нас в стандарных либах такая foo
? Или может есть идеи как можно без костылей элегантно напсать такую foo
?@kgofhedgehogs хотя подозреваю, что нужно что-то вроде https://clojuredocs.org/clojure.set/rename-keys
Не, это не ренейм кейс. Я поставил киворды просто как пример элементов вектора
Твоя функция работает с предложенным мной примером, но мой пример оказался корнеркейсом, извиняюсь
Сейчас покажу новый пример и функцию написанную через луп для однозначности вопроса
@anjensan, вот я обновил пример
@anjensan Да. Именно так
Т.е. могу так луп и оставлять?
в принципе почему нет. можно конечно через встроенные выразить. только будет не намного меньше и медленнее
Исходный xs длиной до 10, ys соответственно <= 10
Ладно, оставляю loop. Спасибо
Теперь вопрос как же назвать такую функцию...
replace-not-nils-with-ys
@ilevd могут случиться коллизии среди a и тогда потеряются некоторые b?
Сейчас подумаю могут ли у меня быть коллизии
В y не может быть nil
И коллизий в x тоже не может быть