Size: a a a

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

2021 April 28

OR

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

ST

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

KC

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

AC

Anton Chikin in Clojure — русскоговорящее сообщество
А вот интересно какую структуру данных вы используете если нужны и вставки/удаление из середины и сохранение порядка?
источник

KC

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

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ну типа у вас есть список элементов и пользователь может любой из них удалить или в любое место добавить
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Через and?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
s/and old-spec your-new-keys
источник

ST

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

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Ну вот в векторе сложности со вставкой
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
(ns lib.clojure.vector
 (:require [clojure.test :as test]))

#?(:clj  (set! *warn-on-reflection* true)
  :cljs (set! *warn-on-infer* true))

;•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

(defn vec-insert
 "Inserts element `x` in the vector `v` at position `pos`."
 {:test (fn [] (let [x 'x]
                 (test/are [expected actual] (= expected actual)
                   [1 2 x 3 4 5] (vec-insert [1 2 3 4 5] 2 x)
                   [x 1 2 3 4 5] (vec-insert [1 2 3 4 5] 0 x)
                   [1 2 3 4 5 x] (vec-insert [1 2 3 4 5] 5 x)
                   [x],,,,,,,,,, (vec-insert [] 0 x)
                   true,,,,,,,,, (vector? (vec-insert [1 2 3 4 5] 2 x)))))}
 [v pos x]
 (reduce conj (subvec v 0 pos) (cons x (subvec v pos))))

;•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

(defn vec-remove
 "Removes element from the vector `v` at position `pos`."
 {:test (fn [] (test/are [expected actual] (= expected actual)
                 [2 3 4 5] (vec-remove [1 2 3 4 5] 0)
                 [1 2 3 4] (vec-remove [1 2 3 4 5] 4)
                 [1 2 4 5] (vec-remove [1 2 3 4 5] 3)
                 [],,,,,,, (vec-remove [1] 0)
                 true,,,,, (vector? (vec-remove [1 2 3 4 5] 0))))}
 [v pos]
 (reduce conj (subvec v 0 pos) (subvec v (inc pos))))

;•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

(defn vec-swap
 "Swaps two elements in the vector `v` at positions `pos1` and `pos2`."
 {:test (fn [] (test/are [expected actual] (= expected actual)
                 [2 1 3 4 5] (vec-swap [1 2 3 4 5] 0 1)
                 true,,,,,,, (vector? (vec-swap [1 2 3 4 5] 0 1))))}
 [v pos1 pos2]
 (-> v
     (assoc pos2 (v pos1))
     (assoc pos1 (v pos2))))

;•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
источник

ST

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

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
https://github.com/clojure/core.rrb-vector
тут быстрые catvec и subvec операции
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Кто знает как в идее отключить вот эти сокращения?
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
источник

AS

Anatoly Smolyaninov in Clojure — русскоговорящее сообщество
👍🔥
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
не знаю поможет ли)
источник

IS

Ilshat Sultanov in Clojure — русскоговорящее сообщество
настройки на этой вкладке
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Да, это просто пц.
источник