CL-USER> (defun new-if (predicate then-clause else-clause) (cond (predicate then-clause) (t else-clause))) NEW-IF CL-USER> (new-if (= 2 3) 0 5) 5 CL-USER> (new-if (< 2 3) 0 5) 0 CL-USER> |
如果用new-if 带入 sqrt-iter 会造成死循环,然后 stack overflow 了
应该是schema lisp 里的语法解析有关系, new-if 根本没有执行到。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-749703/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/133735/viewspace-749703/