这个函数是什么意思呢?
对于以下函数:
(define (update f x v)
(λ ($x)
(display $x)
(newline)
(if (equal? $x x)
v
(f $x))))
这里的
$
是什么意思?$x
从哪里来?
for the following function:
(define (update f x v)
(λ ($x)
(display $x)
(newline)
(if (equal? $x x)
v
(f $x))))
what does
$
mean here?where does the
$x
come from?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
$
在Scheme 中没有特殊含义——它只是一个与其他字符一样的字符。至于第2部分:代码
相当于:
所以
$x
只是内部函数的一个参数,没什么特别的。$
has no particular meaning in Scheme -- it's just a character like any other.As for part 2: the code
is equivalent to:
So
$x
is just a parameter to the inner function, nothing special.据我所知,
$
没有语法意义,它只是参数标识符的一部分(如变量名)。这似乎创建了一个以$x
作为其唯一参数的匿名函数。From what I can tell, the
$
has no syntactic meaning, it's merely part of the parameter's identifier (like a variable name). This appears to create an anonymous function with$x
as its only parameter.