【发布时间】:2013-12-02 08:52:25
【问题描述】:
我正在尝试创建一个函数来计算列表中的所有元素,包括其子列表的元素。最初,为了开始,我想出了一个基本功能myList:
(define myLength
(lambda (L)
(cond
((null? L) 0)
(else (+ 1 (myLength (cdr L)))))))
但是,它并不能帮助我解释以下函数调用:
(numAtoms '()) "...should be 0"
(numAtoms '(())) "...should be 0"
(numAtoms '(1 1)) "...should be 2"
(numAtoms '(1 (1 1) 1)) "...should be 4"
(numAtoms '(1 (1 (1 1)) 1)) "...should be 5"
我正在尝试使用length、null? 和list? 等基本功能。
【问题讨论】:
-
您将两种情况混合在一起。如果 L 的车是一个列表,你想做一些不同的事情。
-
有时我想知道为什么老师们还要费心布置作业......希望他们不要试图根据它来给努力或成就评分。