Sök…
Truthiness
I Clojure anses allt som inte är nil
eller false
som logiskt sant.
Exempel:
(boolean nil) ;=> false
(boolean false) ;=> false
(boolean true) ;=> true
(boolean :a) ;=> true
(boolean "false") ;=> true
(boolean 0) ;=> true
(boolean "") ;=> true
(boolean []) ;=> true
(boolean '()) ;=> true
(filter identity [:a false :b true]) ;=> (:a :b true)
(remove identity [:a false :b true]) ;=> (false)
Booleans
Alla värden i Clojure anses vara sanna om det inte är false
eller nil
. Du kan hitta sanningsenheten hos ett värde med (boolean value)
. Du kan hitta sanningen i en lista med värden med (or)
, som returnerar true
om några argument är sanningsenliga, eller (and)
som returnerar true
om alla argument är sanningsenliga.
=> (or false nil)
nil ; none are truthy
=> (and '() [] {} #{} "" :x 0 1 true)
true ; all are truthy
=> (boolean "false")
true ; because naturally, all strings are truthy
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow