我正在完成简单的计划。我用DrRacket作为我的定义文件
https://gist.github.com/alexgian/5b351f367169b40a4ad809f0bb718e1f
我在练习17.3,上面写着
https://people.eecs.berkeley.edu/~bh/ssch17/lists.html
描述映射调用所返回的值。
> (map (lambda (x) (lambda (y) (+ x y))) '(1 2 3 4))
在DrRacket中,对于映射的调用,我得到以下输出:
(#<procedure> #<procedure> #<procedure> #<procedure>)
我知道lambda允许你返回程序。我很难弄清楚由于某种原因返回了什么程序,这里到底发生了什么。
发布于 2019-11-27 05:38:11
只需依次将列表中的每个值替换为内部函数中的变量x。换言之,结果等于:
(list (lambda (y) (+ 1 y))
(lambda (y) (+ 2 y))
(lambda (y) (+ 3 y))
(lambda (y) (+ 4 y)))
由四个函数组成的列表,每个函数以不同的值增加其参数。
https://stackoverflow.com/questions/59061204
复制相似问题