Size: a a a

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

2021 March 18

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
а я тут плюшками балуюсь
(defn iterate-while
 ([f x] (iterate-while some? f x))
 ([pred f x]
  (when (pred x)
    (reify
      ISeq
      (first [_] x)
      (next [_] (iterate-while pred f (f x)))
      (more [this] (or (next this) '()))
      Seqable
      (seq [this] this)
      IReduceInit
      (reduce [_ rf ret]
        (loop [ret ret, x x]
          (cond (reduced? ret) (.deref ^Reduced ret)
                (pred x),,,,,, (recur (rf ret x) (f x))
                :else,,,,,,,,, ret)))
      Sequential))))
это я прикидываю варианты работы с цепочками вложенных исключений
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
(defn div3 [x n]
 (reduce (fn [state _] (update state (rand-int n) inc))
         (vec (repeat n 0))
         (range x)))
можно как-то здесь добавить функцию через #()?
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
(fun () -> ())
(defn div3 [x n]
 (reduce (fn [state _] (update state (rand-int n) inc))
         (vec (repeat n 0))
         (range x)))
можно как-то здесь добавить функцию через #()?
(reduce #(update % (rand-int n) inc))
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
Vladimir Pavlyuk
(reduce #(update % (rand-int n) inc))
не, так не получится
источник

VP

Vladimir Pavlyuk in Clojure — русскоговорящее сообщество
(fun () -> ())
не, так не получится
лол) прикольно
тогда, наверное, нельзя
источник

VP

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

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
#(update (first %&) (rand-int n) inc) но что-то такое себе получается))
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
(fun () -> ())
(defn div3 [x n]
 (reduce (fn [state _] (update state (rand-int n) inc))
         (vec (repeat n 0))
         (range x)))
можно как-то здесь добавить функцию через #()?
можно

(defn div3 [x n]
 (reduce #(update %1 (rand-int n) inc #_ %2)
         (vec (repeat n 0))
         (range x)))
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
Kirill Chernyshov
можно

(defn div3 [x n]
 (reduce #(update %1 (rand-int n) inc #_ %2)
         (vec (repeat n 0))
         (range x)))
нифига) спасибо
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
(fun () -> ())
(defn div3 [x n]
 (reduce (fn [state _] (update state (rand-int n) inc))
         (vec (repeat n 0))
         (range x)))
можно как-то здесь добавить функцию через #()?
(defn div3 [x n]
 (reduce #(do '%2 (update %1 (rand-int n) inc))
         (vec (repeat n 0))
         (range x)))
источник

D

Dos in Clojure — русскоговорящее сообщество
а зачем ананимку? короче?
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
Dos
а зачем ананимку? короче?
дело принципа, укоротить как можно больше с сохранением смысла
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
можно

(defn div3 [x n]
 (reduce #(update %1 (rand-int n) inc #_ %2)
         (vec (repeat n 0))
         (range x)))
вот уж не думал, что такое проканает 😊
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
ну да, не очевидно )
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
но логично
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
да я бы не сказал, что логично
я думал, что макрос разворачивается, когда #_ уже вырезано
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
так это же ридер макрос
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ну вот я и думал, что сначала reader, а потом макрос 😊
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
сорян, я не то сказал ) DispatchReader конечно же, не ридер макрос
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
да ладно, не только лишь все могли заметить этот твой промах.
вернее могли заметить все, но не каждый сможет сделать это в завтрашнем дне.
источник