clojure – 为什么这个以println开头的匿名函数会导致NullPointerException?

我正在学习pmap并编写了以下函数:

(pmap #((println "hello from " (-> (Thread/currentThread) .getName)) 
         (+ %1 %2)) 
   [1 1 1] [-1 -1 -1])

运行时,结果是NullPointerException

(hello from  clojure-agent-send-off-pool-4
hello from  clojure-agent-send-off-pool-3
hello from  clojure-agent-send-off-pool-5
NullPointerException   user/eval55/fn--56 (NO_SOURCE_FILE:11)

为什么会这样?我已经理解并观察到fn的主体是隐含的.

最佳答案
匿名fn文字#()没有隐式do.

转载注明原文:clojure – 为什么这个以println开头的匿名函数会导致NullPointerException? - 代码日志