Size: a a a

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

2021 September 01

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
для [a b c d c a b a] что должно быть в векторе дубликатов?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
если сделать в один проход, то как ты хочешь получить результат?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
если ты сделаешь set, то потеряешь исходный порядок
источник

EK

Eugene Kuznetsov in Clojure — русскоговорящее сообщество
a b c
источник

EK

Eugene Kuznetsov in Clojure — русскоговорящее сообщество
на выходе вектор с дубликатами только )
источник

ST

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

SP

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

SP

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

SP

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
(let [xs [:a :b :c :d :a :c]]
 (->> xs (into [] (comp (filter (->> (frequencies xs)
                                     (keep (fn [[k v]] (when (< 1 v) k)))
                                     (set)))
                        (distinct)))))
=> [:a :c]
источник

SP

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

ST

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
или как-то так
(let [xs [:a :b :c :d :a :c]]
 (loop [xs xs, s #{}, res []]
   (if-some [x (first xs)]
     (if (s x)
       (recur (rest xs) s (conj res x))
       (recur (rest xs) (conj s x) res))
     res)))
=> [:a :c]
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ну и такой вариант в 5 раз быстрее, тут Дамир бенчмарки просил...
источник

OR

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

EK

Eugene Kuznetsov in Clojure — русскоговорящее сообщество
Да, благодарю.. буду изучать как это все работает, интересны подходы, как раз проверю у меня записей тыс 15
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
не совсем. в 70-80 реально надо было управлять памятью в ручную и сделать изменяемые структуры данных хоть как то поддерживаемыми. просто с 80х эти проблемы научились решать радикально эффективнее.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
ручное управление памятью и ООП - немного ортогональные вещи
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
В теории да. В практике мутабельные структурки с небольшими плюшками вроде наследования - прямое следствие это потребности ИМХО.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
наследование структурок отлично заменяется мержем
источник