Как распечатать результат функции в clojure? - PullRequest
1 голос
/ 09 февраля 2020

Когда я использую pprint с вызовом функции, я не получаю результат функции:

(defn my-func [] (+ 1 2))
(pprint my-func)

Вместо этого я вообще ничего не получаю. Как мне сделать отпечаток 3?

Ответы [ 2 ]

2 голосов
/ 09 февраля 2020

my-func оценивается как fn, на который ссылается переменная my-func, вы должны увидеть вывод вида

#object[user$my_func 0x50029372 "user$my_func@50029372"]

, чтобы вызвать my-func, вам нужно использовать

(my-func)

так что вы можете pprint результат с

(pprint (my-func))
1 голос
/ 09 февраля 2020

Вы также можете попробовать одного из множества помощников, созданных людьми, чтобы лучше понять свои функции (кроме использования отладчика).

Вот недавний способ, который поможет вам распечатать большинство результатов. очень легко (используя макросы читателя): https://github.com/weavejester/hashp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...