Size: a a a

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

2020 June 03

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
https://roamresearch.com/ еще одна штука на кложе
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Можно как-то
паттернматчить по типу?
(clojure.core.match/match
[(type a) (type b)]
[_ nil] 1
[nil _] 2
[Long Long] 3
[Long _] 4
[clojure.lang.Keyword _] 5
:else :dunno)
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Можно как-то
паттернматчить по типу?
(clojure.core.match/match
[(type a) (type b)]
[_ nil] 1
[nil _] 2
[Long Long] 3
[Long _] 4
[clojure.lang.Keyword _] 5
:else :dunno)
:guard кури
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Блин, ну он крупный. Эх
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Хотел компактный код
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Хотел компактный код
вынеси в функции предикаты
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
а иначе как ты хотел различать значения от типов?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
а иначе как ты хотел различать значения от типов?
Дык типы это и есть значения. Как я понимаю
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Можно как-то
паттернматчить по типу?
(clojure.core.match/match
[(type a) (type b)]
[_ nil] 1
[nil _] 2
[Long Long] 3
[Long _] 4
[clojure.lang.Keyword _] 5
:else :dunno)
вот тут nil - это значение, а clojure.lang.Keyword что?)
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
вот тут nil - это значение, а clojure.lang.Keyword что?)
Тоже значение
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
В матч же попадает (type x), это может быть clojure.lang.Keyword, может быть nil, может быть java.lang.Long, который равен Long
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
ясно, я просто сначала не увидел (type)
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Я бы вообще в идеале хотел что-то такое:

(??? [x y]
[nil? _] 1
[_ nil?] 2
[int? int?] 3
[keyword? _] 4
5)
источник

KR

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

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
тогда правда придется функции вызывать на данных
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
Я бы вообще в идеале хотел что-то такое:

(??? [x y]
[nil? _] 1
[_ nil?] 2
[int? int?] 3
[keyword? _] 4
5)
а тебе точно тут нужен паттернматчинг?
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
а тебе точно тут нужен паттернматчинг?
Наверное, конд уже будет лучше, раз так не получается
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Kostyantin Randomname
попробуй матчить по двум булеанам
Битовые маски получаются)
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
жуть :), но весело
источник

KR

Kostyantin Randomnam... in Clojure — русскоговорящее сообщество
ну в целом понятно:)
источник