a p*_*a p 3 integer boolean clojurescript
可能只是在这里展示我对lisp(s)的无知,但是我对ClojureScript的and函数有一些奇怪的结果:
(and true false) ; false
(and false true) ; false
(and 1 0) ; 0
(and 0 1) ; 1 !?
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?我至少期待对称; 这与位存储true和false?有关吗?
and如果所有参数都是真实的,则返回它的最后一个参数,否则它返回false(它一旦到达第一个假值,它也会停止计算参数).在Clojure中,与Javascript不同,0并且1都是真实的.Clojure中唯一的假值是false和nil.
http://blog.jayfields.com/2011/02/clojure-truthy-and-falsey.html