读书人

Clojure 学习札记之when-not

发布时间: 2012-10-07 17:28:51 作者: rapoo

Clojure 学习笔记之when-not

在clojure中有if 但是没有unless,但是有对应的when-not,同样if与when相对。相比于if与unless,when与when-not没有另外的条件不成立时的分支。因为按照英文的习惯没有人会说:when...else...。因此when和when-not后的body就可以包含很多的语句。因为when,与when-not是一个if主导的宏,然后把其后的body用do包装了起来。看看它的源代码(宏实现)就知道了,非常简单:

?

(defmacro when-not [test & body]      (list 'if test nil 'do body))
?

?

第一篇小文章很短,写的不好,见笑!

读书人网 >软件架构设计

热点推荐