clojure中是否有任何函数可以计算给定表达式的布尔值?我的意思是如果表达式为nil或false,则此函数返回false,否则为true?
(to-bool nil) ; => false
(to-bool false) ; => false
(to-bool java.util.Date.) ; => true
(to-bool true) ; => true
(to-bool 7) ; => true
那样的东西?
答案 0 :(得分:7)
boolean
它是。
(boolean nil) ; => false
(boolean false) ; => false (I assume you expect false, not true here!)
(boolean (java.util.Date.)) ; => true
(boolean true) ; => true
(boolean 7) ; => true
答案 1 :(得分:-2)
仅在clojure中有两个逻辑错误:false,nil。
user=> (if false :true :false)
:false
user=> (if nil :true :false)
:false
user=> (if [] :true :false)
:true
user=> (if () :true :false)
:true
user=> (if #{} :true :false)
:true
user=> (if 1 :true :false)
:true
user=> (if 0 :true :false)
:true
user=> (if (java.util.Date.) :true :false)
:true