2012-06-13 2 views
3

Есть ли какая-либо функция в clojure, которая вычисляет логическое значение данного выражения? Я имею в виду, если выражение равно nil или false, то эта функция возвращает false, иначе true?Булево значение выражения в clojure

(to-bool nil) ; => false 
(to-bool false) ; => false 
(to-bool java.util.Date.) ; => true 
(to-bool true) ; => true 
(to-bool 7) ; => true 

Что-то в этом роде?

ответ

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 
+0

точно, я отредактирую его, спасибо – Sergey

-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 
Смежные вопросы