Я пытаюсь написать макрос, который я могу использовать для вызова функции в новом потоке, и напечатать имя функции, а также имя потока после его запуска.Проблемы с макросом clojure
До сих пор, что у меня есть:
(defmacro start-threads [f]
'(let [t (Thread. 'f)]
(prn (str "running " 'f " on: " (.getName t)))))
, который, когда я бегу:
(start-threads funcname)
выходов: "работает на п: Thread-47". и я бы хотел, чтобы он выводил: «running funcname on: Thread-47. Когда я пытаюсь выполнить его без проверки, попробуйте оценить функцию. Я знаю, что я не запускал .start в этом разделе, но я должен быть в состоянии добавить что в дальнейшем. Я уверен, что макрос совершенно не нужен здесь, мне в основном интересно из любопытства, поскольку я только начинаю обдумывать, как работают макросы в clojure.
Неточная одиночная кавычка. –