如何让clojure数'()
为nil
?如何使'()为零?
例如: 如何使类似
(if '() :true :false)
;to be
:false
;Or easier
(my-fun/macro/namespace/... (if '() :true :false))
:false
而且不只是如果。各方面。
(= nil '()) or (my-something (= nil '()))
true
并且每个代码都被保存(='()nil)。
(something (+ 1 (if (= nil '()) 1 2)))
2
我在考虑某种表达方式。它会看代码并用nil
代替'()
,但有一些东西,如(rest '(1))
和许多其他的'()
,我不知道如何处理它。
有人告诉我,宏允许你创建自己的语言。我想通过改变clojure来尝试它。所以这很大程度上是关于“clojure如何工作以及如何改变它?”比“我真的需要它来为我的工作。”
谢谢你的帮助。
一种选择是降级到Clojure的足够旧版本。空的序列曾经是零,但是这个已经改变了:http://blog.n01se.net/blog-n01se-net-p-39.html – 2012-08-09 09:14:17