为什么Clojure函数返回的nil不会返回值?

时间:2017-06-22 00:08:15

标签: clojure null functional-programming

我是Clojure的新生,不知道为什么" nil"当我调用不返回值的函数时,在REPL中返回。

上面一个例子:

(println "Hello Nil")
nil

为了达到" nil"

,需要采用何种类型的评估流程

1 个答案:

答案 0 :(得分:12)

像Clojure这样的函数式语言的约定,每个函数都需要返回一个值。对于旨在执行副作用(如打印到屏幕)的println等函数,并不总是清楚返回值可能或应该是什么。

在这些情况下,nil是占位符值,表示“无”或“不适用”。