首页 > 其他 > 详细

用Clojure学习The Little Schemer时的一些基本函数定义

时间:2014-08-13 10:44:55      阅读:386      评论:0      收藏:0      [点我收藏+]
;; learning The Little Schemer

(def car first)
(def cdr rest)
(def cons clojure.core/cons)
(def eq? =)
(def list? clojure.core/list?)
(defn atom? [x]
  (not (list? x)))

(defn s-exp? [x]
  (or (atom? x) (list? x)))

(defn null? [x]
  (if (atom? x) (car x) ;raise a exception
      (and (list? x) (empty? x))))


抛出异常的地方是为了保持“未定义”语义,即书中说到的 “you cannot do this”

用Clojure学习The Little Schemer时的一些基本函数定义,布布扣,bubuko.com

用Clojure学习The Little Schemer时的一些基本函数定义

原文:http://my.oschina.net/wardenlym/blog/300610

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!