【问题标题】:Boolean value of expression in clojureclojure 中表达式的布尔值
【发布时间】:2012-06-16 06:41:27
【问题描述】:

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

类似的东西?

【问题讨论】:

    标签: function clojure boolean


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案2】:

      clojure 中只有两个逻辑 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-29
        • 2015-08-03
        • 1970-01-01
        • 1970-01-01
        • 2011-05-11
        • 2013-09-11
        • 2017-02-05
        • 2018-01-04
        相关资源
        最近更新 更多