Почему это ничего не распечатывает? - PullRequest
0 голосов
/ 31 декабря 2018

Почему это ничего не распечатывает, но это работает, если я просто использую (напечатайте «ASDAS»), я использую LightTable, и это печатает в консоли.

(defn try [x]
 (print ("ASDASD")
))

(try 5) 

Ответы [ 3 ]

0 голосов
/ 31 декабря 2018

try-функция в Clojure Используется для обработки исключений ... измените свою функцию и посмотрите.

[https://clojuredocs.org/clojure.core/try]

0 голосов
/ 31 декабря 2018

Это:

("ASDF")

- это вызов функции, но строка не является функцией.Не работает.

Таким образом, это тоже не работает:

(print ("ASDF"))

Чтобы напечатать строку:

(print "ASDF")

Имя tryне очень хорошая идея, потому что она скрывает уже существующее имя от ядра Clojure.

Итак:

(defn my-experiment [x]
  (print x))

(my-experiment "ASDF")
0 голосов
/ 31 декабря 2018

try - это специальная форма для обработки исключений.См. Документацию Clojure .

Вы можете либо:

  • Обратиться к ней напрямую через (your-ns-here/try 5), вероятно (user/try 5).
  • Используйте другое имя для вашей функции.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...