计划嵌套的 lambda 函数
Scheme nested lambda function
我是Scheme的初学者。我在 MIT 考试 1 的 SICP 讲座中找到了这个问题。
–
的值和类型是什么
((lambda (a) (lambda (b) (+ (sqrt a) (sqrt b)))) 5)
我很难理解这个函数是如何工作的。我真的对参数b
感到困惑。只有5
作为参数传递给外层lambda函数,那么b
对内层lambda函数取什么值?
我在 mit-scheme 中尝试了 运行ning 这个函数,但是每次 运行 时结果值都会递增。
你是对的,只有外部 lambda 形式应用于参数 5。然后它 return 将它的主体 a
替换为 5,所以它会 return
(lambda (b) (+ (sqrt 5) (sqrt b)))
这本身就是一个函数。稍后可以将其应用于另一个参数,以生成实际数值。
我是Scheme的初学者。我在 MIT 考试 1 的 SICP 讲座中找到了这个问题。
–
的值和类型是什么((lambda (a) (lambda (b) (+ (sqrt a) (sqrt b)))) 5)
我很难理解这个函数是如何工作的。我真的对参数b
感到困惑。只有5
作为参数传递给外层lambda函数,那么b
对内层lambda函数取什么值?
我在 mit-scheme 中尝试了 运行ning 这个函数,但是每次 运行 时结果值都会递增。
你是对的,只有外部 lambda 形式应用于参数 5。然后它 return 将它的主体 a
替换为 5,所以它会 return
(lambda (b) (+ (sqrt 5) (sqrt b)))
这本身就是一个函数。稍后可以将其应用于另一个参数,以生成实际数值。