(repeat-transformation #'(lambda (x) (* 2 x)) 4 1)
这是一个LISP lambda函数,我不明白最后的“1”是什么? 感谢。
答案 0 :(得分:5)
定义:重复变换(F N X)
在对象X上重复应用函数F N次。
您正在定义要在整数1上通过重复变换调用4次的lambda函数。
希望能够解释它。
答案 1 :(得分:2)
Google带来了repeat-transformation
的递归定义:
(defun repeat-transformation (F N X)
"Repeat applying function F on object X for N times."
(if (zerop N)
X
(repeat-transformation F (1- N) (funcall F X))))
表示1
是函数运行的值。接下来的3个谷歌链接确认了它。
答案 2 :(得分:0)
lambda函数是重复转换的第一个参数。 4和1分别是第二和第三个参数。
Lisp教程Advanced Functional Programming in LISP定义了一个重复转换函数,重复在对象X上应用函数F N次。如果你的是等价的,那么 1
是对值4
应用lambda函数的次数。