这里的基本问题是,给定一个列表,返回除最后一个元素外的所有元素。例如,给定(a b c d)--> 返回(a b c)。我已经有了函数,只是在Scheme语法方面遇到了麻烦,而Google并不友好。我不确定我是否正确使用了cons。
(define all-but-last
(lambda (x)
(if (null? (cdr x))
('()))
(cons ((car x) (all-but-last(cdr x)))
)))
需要熟悉R5RS Scheme语法的人会很有帮助。谢谢!
cdr
可以接受所有的pair(包括非空列表)”。 - Jeremiah Willcock