Поиск…
Truthiness
В Clojure все, что не nil
или false
, считается логичным.
Примеры:
(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)
Булевы
Любое значение в Clojure считается правдивым, если оно не является false
или nil
. Вы можете найти правдивость значения с (boolean value)
. Вы можете найти правдивость списка значений, используя (or)
, который возвращает true
если любые аргументы являются правдивыми, или (and)
который возвращает true
если все аргументы являются правдивыми.
=> (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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow