Size: a a a

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

2021 March 24

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
получается что attempt-all ведёт себя как let, но форматирует как просто функцию с параметрами. Отступы большие
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
(fun () -> ())
получается что attempt-all ведёт себя как let, но форматирует как просто функцию с параметрами. Отступы большие
У меня обычные
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Anton Chikin
(print-macro some-binding) => “some-binding value”
Типа такого:
(defmacro print-macro [var]
       `(println (str '~var " " ~var)))
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Vyacheslav Mikushev
Типа такого:
(defmacro print-macro [var]
       `(println (str '~var " " ~var)))
cljs.user=> (print-macro abcd)
(cljs.core/println (cljs.core/str (quote nil) " " nil))
источник

AC

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

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Да, дело в clojuscript'е. Там очень трудно работать с макросами.
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Anton Chikin
Я просидел полдня, толком ничего не добился от него и бросил 🙂
проблема в том, что часто у значения может не быть имени, тут начинаются вопросы а как принтить)
источник

ap

andei papkov in Clojure — русскоговорящее сообщество
кто знает  как сослаться на функци внутри неё же, если она объявленна в let
(let [myfunc (fn[]  (somefunc myfunc))])
пишет что myfunc нет в текущем контексте
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
andei papkov
кто знает  как сослаться на функци внутри неё же, если она объявленна в let
(let [myfunc (fn[]  (somefunc myfunc))])
пишет что myfunc нет в текущем контексте
letfn
источник

ap

andei papkov in Clojure — русскоговорящее сообщество
andei papkov
кто знает  как сослаться на функци внутри неё же, если она объявленна в let
(let [myfunc (fn[]  (somefunc myfunc))])
пишет что myfunc нет в текущем контексте
те мне нужна как бы this переменная в функции
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Тогда просто имя ей дай (fn f [
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
andei papkov
те мне нужна как бы this переменная в функции
(let [myfunc (fn myfunc []  (somefunc myfunc))])
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Но вообще для этих штук есть letfn
источник

ap

andei papkov in Clojure — русскоговорящее сообщество
ok, спс
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
The2lb3oz4dr10½grOfHedgehogs
проблема в том, что часто у значения может не быть имени, тут начинаются вопросы а как принтить)
Там проблема в том что nil вместо символа пока
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Anton Chikin
Там проблема в том что nil вместо символа пока
В контексте макро есть переменная &form , в ней стопудово есть символ который как аргумент приходит
источник
2021 March 25

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
уточню, &form это форма вызова макроса, а &env -- словарик локальных переменных
источник

VM

Vyacheslav Mikushev in Clojure — русскоговорящее сообщество
Проблема в том, что в cljs репле в макросе &env равен nil. Особо не попишешь макросы в репле.
источник

IG

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Anton Chikin
cljs.user=> (print-macro abcd)
(cljs.core/println (cljs.core/str (quote nil) " " nil))
такое чуство, что ты кавычку (тик) потерял. Иначе почему твой макрос выдаёт форму, а не результат?
источник