【发布时间】:2015-10-05 03:27:46
【问题描述】:
Scheme 中的某些功能存在问题
所以在这本书中我正在学习Scheme,我遇到了这个我还没有完全掌握的问题。
它要求我创建一个执行此操作的高阶函数:
(display ((incrementn 4) 2))
6
我已经坚持了几个小时,但似乎仍然没有理解基本原理。所以我转向你们所有人,希望我能更好地理解这个函数调用。
所以到目前为止我的理解是当我们定义一个这样的函数时:
(define (increment n) ______)
空格显然代表我对给定参数的以下操作。我似乎不明白的是高阶函数如何返回(增量函数的)外部参数并将其注入到定义的函数中(即(incrementn 3))
我完全理解 3 是我们将 n 递增 n 次的初始值(整数)(n 是在 ((incrementn n) x) 之外传递的参数),我们将 n 递增 1 x 次 em>
我要问你的问题是,假设 x 是一个未绑定的变量(对吗?),我如何返回该整数并将 n 增加 1 多次?这种行为的语法是什么?
【问题讨论】:
标签: function syntax parameters lambda scheme