Size: a a a

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

2020 March 04

MA

Mike Ananev in Clojure — русскоговорящее сообщество
(reduce
 (fn [acc next-val]
   (if (empty? acc)
     [[next-val]]
     (conj acc (into [] (flatten [(last acc) next-val])))))
 [] [:a :b :c :d :e :f :g :h :i])
источник

MA

Mike Ananev in Clojure — русскоговорящее сообщество
У Ивана лаконичнее получилось.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Maxim Penzin
то про какой вектор речь?
[]
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
там вроде как удаление по первофмансу примерно равно добалвению
источник

T

Timmy B in Clojure — русскоговорящее сообщество
тха
источник

T

Timmy B in Clojure — русскоговорящее сообщество
спасибо за варианты, но можно ещё так
источник

T

Timmy B in Clojure — русскоговорящее сообщество
(def zipper (zip/vector-zip number))
problemizer.core> (-> zipper zip/down zip/right zip/right zip/right zip/lefts)
(1 2 3)
источник

T

Timmy B in Clojure — русскоговорящее сообщество
(map zip/lefts (take-while (complement nil?) (iterate zip/right (zip/down zipper))))
(nil
(1)
(1 2)
(1 2 3)
(1 2 3 4)
(1 2 3 4 5)
(1 2 3 4 5 6)
(1 2 3 4 5 6 7)
(1 2 3 4 5 6 7 8))
источник

T

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

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Timmy B
а как бы поидиоматичнее получить такое:

есть список [a b c d e f …]

как получить последовательность [a], [a b], [a b c], …
(let [c '[a b c d e f g]] (map #(take % c) (range 1 (inc (count c)))))
источник

T

Timmy B in Clojure — русскоговорящее сообщество
sigh
источник

T

Timmy B in Clojure — русскоговорящее сообщество
Andrew Rudenko
(let [c '[a b c d e f g]] (map #(take % c) (range 1 (inc (count c)))))
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
(rest (reductions conj [] '[a b c d e f g]))
источник

AS

Anton Strukov in Clojure — русскоговорящее сообщество
а можно с трамплином то же самое решить, или я не понимаю зачем трамплин нужен?
источник

T

Timmy B in Clojure — русскоговорящее сообщество
трамплин позволит выразить это рекурсивно
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Timmy B
а как бы поидиоматичнее получить такое:

есть список [a b c d e f …]

как получить последовательность [a], [a b], [a b c], …
ну прям идеальный случай для трансдьюсера
(defn xform
 [rf]
 (let [a (volatile! [])]
   (fn
     ([] (rf))
     ([result] (rf result))
     ([result input] (rf result (vswap! a conj input))))))
=> #'dev.playground/xform
(sequence xform [1 2 3 4 5])
=> ([1] [1 2] [1 2 3] [1 2 3 4] [1 2 3 4 5])
источник

T

Timmy B in Clojure — русскоговорящее сообщество
Andrew Rudenko
(rest (reductions conj [] '[a b c d e f g]))
this is it <3
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Timmy B
я ебанулся или норм?
источник

T

Timmy B in Clojure — русскоговорящее сообщество
*говорит на божественном*
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
кто подскажет есть ли какая-то тула чтоб резолвить ресурсы?
например у меня есть файл resources/project-name/module/config.edn
{:host localhost
:port 666}

я хочу чтоб в коде я например мог сделать (:require [project-name.module :refer [config]]) и это была просто мапка
источник