与えられた式のブール値を計算する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
そんな感じ?
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
clojureにのみ2つの論理的なfalseがあります: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