(define length1
(lambda (lat)
(cond
((null? lat) 0)
(else (+ 1 (length1 (cdr lat)))))))
例如:在调用 length1 时显示数字(或其他任何内容)cond
对于 common lisp,您可以使用(progn (...) (...) ...)
将多个表达式组合为一个。
方案中的等价物是(begin (...) (...) ...)
。
所以:
(define length1
(lambda (lat)
(cond
((null? lat) 0)
(else (begin (display "hello world") (+ 1 (length1 (cdr lat))))))))
或者你可能想要:
(define length1
(lambda (lat)
(cond
((null? lat) 0)
(else (let ((or-anything-else (+ 1 (length1 (cdr lat)))))
(display or-anything-else)
or-anything-else)))
这几乎耗尽了我的耐心。