Size: a a a

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

2020 January 20

KR

Kostyantin Randomname in Clojure — русскоговорящее сообщество
он вроде N
источник

ST

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
https://clojuredocs.org/clojure.core/compare
“It cannot compare lists, sequences, sets, or maps at all.”
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrew Rudenko
довольно ожидано, скорее всего потому что размер списка не получить константно
неожиданно на фоне того, что равенство-то работает...
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Andrew Rudenko
ну напиши свой компаратор для списка
(defn compare-list [a b]
 (loop [a a b b]
   (cond
     (and (nil? a) (nil? b)) 0
     (nil? a) -1
     (nil? b) 1
     :else (let [[ax & a'] a
                 [bx & b'] b]
             (let [element-compare (compare ax bx)]
               (if (= 0 element-compare)
                 (recur a' b')
                 element-compare))))))
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
о, прикольно, не знал, что список хранит count в кложке
источник

AR

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrew Rudenko
(defn compare-list [a b]
 (loop [a a b b]
   (cond
     (and (nil? a) (nil? b)) 0
     (nil? a) -1
     (nil? b) 1
     :else (let [[ax & a'] a
                 [bx & b'] b]
             (let [element-compare (compare ax bx)]
               (if (= 0 element-compare)
                 (recur a' b')
                 element-compare))))))
(compare-list 1 2) 😝
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну так это compare-*list*
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
можешь проверок всунуть
источник

D

Dos in Clojure — русскоговорящее сообщество
Sergey Trofimov
(compare-list 1 2) 😝
(defn compare-list [a b]
 (loop [a (flatten (list a)) b (flatten (list b))]
   (cond
     (and (nil? a) (nil? b)) 0
     (nil? a) -1
     (nil? b) 1
     :else (let [[ax & a'] a
                 [bx & b'] b
                 element-compare (compare ax bx)]
               (if (zero? element-compare)
                 (recur a' b')
                 element-compare)))))
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Andrew Rudenko
(defn compare-list [a b]
 (loop [a a b b]
   (cond
     (and (nil? a) (nil? b)) 0
     (nil? a) -1
     (nil? b) 1
     :else (let [[ax & a'] a
                 [bx & b'] b]
             (let [element-compare (compare ax bx)]
               (if (= 0 element-compare)
                 (recur a' b')
                 element-compare))))))
(defn compare-list [a b]
 (or
   (some #(when-not (zero? ^int %) %) (map compare a b))
   (- (count a) (count b))))

😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
(defn compare-list [a b]
 (or
   (some #(when-not (zero? ^int %) %) (map compare a b))
   (- (count a) (count b))))

😊
но медленнее раза в 4
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dos
(defn compare-list [a b]
 (loop [a (flatten (list a)) b (flatten (list b))]
   (cond
     (and (nil? a) (nil? b)) 0
     (nil? a) -1
     (nil? b) 1
     :else (let [[ax & a'] a
                 [bx & b'] b
                 element-compare (compare ax bx)]
               (if (zero? element-compare)
                 (recur a' b')
                 element-compare)))))
сразу в 70 раз медленнее 😊

впрочем, я остановился на простейшем варианте типа
(defn compare-list [a b]
 (let [convert (comp vec flatten list)]
   (compare (convert a) (convert b))))
источник
2020 January 21

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
Если кто не видел, всех причастных просят поучаствовать в опросе
https://www.surveymonkey.com/r/clojure2020
если кто не заполнил опросник, осталось два дня
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
Уже и забыл, когда заполнял)
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
не видел ссылку, заполнил
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
доброго времени суток
источник

СС

Сергей Суржик in Clojure — русскоговорящее сообщество
clojure.spec и clojurescript дружат?
практикуюсь в написании приложения используя shadow-cljs + reagent
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Сергей Суржик
clojure.spec и clojurescript дружат?
практикуюсь в написании приложения используя shadow-cljs + reagent
дружат
источник