Clojure

时间:2016-07-15 18:30:08

标签: clojure

以下是http://www.braveclojure.com/的引用:

  

Clojure使用布尔运算符orandor返回第一个truthy值或最后一个值。 and返回第一个falsey值,如果没有值为false,则返回最后一个truthy值。

为什么要在语言中构建类似的东西?你经常遇到一些用例吗?

1 个答案:

答案 0 :(得分:1)

它与其他语言略有不同,但有时对于默认值很方便。例如:

(defn print-it [x] 
  (println (or x :unknown)))

> (print-it 5)
5

> (print-it "hi")
hi

> (print-it false)
:unknown

> (print-it nil)
:unknown

因此,对于5"hi"这样的正常值,or表达式的结果是提供的值。如果值为nil(或false),则会返回默认值:unknown