【发布时间】:2016-09-16 20:21:37
【问题描述】:
我是一名物理专业的学生,正在上数学课程和编程(我注册了数学),但我以前从未使用任何语言编写过代码,所以关于 Racket 的一切对我来说都是全新的。到目前为止,该类的目标是获取与集合相关的函数并将它们转换为 Racket 程序。其中一个功能是获取列表列表并删除每个元素的第一项:
f({(0, 1, 0), (1, 0, 0), (1, 1, 1)...} = {(1, 0), (0, 0), (1, 1)...}
到目前为止,我已经将其作为一个程序:
(define (procA set)
(cond
((null? set) '())
((rest (first set)))
((procA (rest set)))))
当我运行程序时,它会返回应用了正确的函数,但只有第一个元素,比如如何
(procA '((0 1 0) (1 0 0) (1 1 1)))
返回为 '(1 0)。它是某种“地图”功能,还是完全不同的东西?我以为最后一行会处理列表的其余部分,但事实并非如此。
【问题讨论】:
-
是的,应该和
(map rest set)一样。
标签: recursion scheme set-theory