我是一名物理专业的学生,正在学习编程的数学课(我注册了数学),但我以前从未用任何语言编写过代码,所以关于 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)。它是某种“地图”功能,还是完全不同的东西?我以为最后一行会处理列表的其余部分,但事实并非如此。