Size: a a a

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

2021 December 08

VV

Vitaly Vasiliev in Clojure — русскоговорящее сообщество
вы меня запутали)
источник

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
Которая лист
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ну нет же
(defmacro m [x] x)
источник

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
Ну это простенький макрос
источник

VV

Vitaly Vasiliev in Clojure — русскоговорящее сообщество
у меня предположение было, что filter во что-то автоматически оборачивается
источник

ST

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

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
(filter smth smth) => '(list of smth)
`[~@(list of smth)] => [list of smth]
источник

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
Ну ладно, я к тому чтобы думать об этом как о данных
источник

ND

Nikita Domnickij in Clojure — русскоговорящее сообщество
Это хоть и одно и то же, но при переходе с других языков может не совсем очевидно
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Тогда, наверное, будет лучше так:
(defmacro filt [bind]
 (filterv keyword? binds))
источник

ST

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

ST

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

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
👍😁
источник

VV

Vitaly Vasiliev in Clojure — русскоговорящее сообщество
-_-
источник

ST

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

VV

Vitaly Vasiliev in Clojure — русскоговорящее сообщество
а @ в filterv не нужна потому, что там [pred coll], а  в просто фильтре нужна, потому, что там [pred] [pred coll]?
источник

ST

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
filter возвращает sequence
если нужен вектор, можно применить vec
источник

VV

Vitaly Vasiliev in Clojure — русскоговорящее сообщество
не, как раз sequence нужна, надо будет почитать получше
источник

VV

Vitaly Vasiliev in Clojure — русскоговорящее сообщество
спасибо тебе
источник