这是一个可用的scheme函数吗?
我的课堂讲稿中的这个函数写得正确吗这是一个可用的scheme函数吗?,scheme,Scheme,我的课堂讲稿中的这个函数写得正确吗 (define foo (λ (f) (+ (f 1) (f 2)))) (foo3)不起作用,任何其他参数都表示它需要1个参数。我想讲师的意思是: (define foo (λ (f) (+ f f)) ) 据我所知,(f1)在scheme中不是一个有效的表达方式,但是如果第一个函数实际上是一个正确的函数,有人能给我一个有效输入的例子吗 (define foo (λ (f) (+ (f 1) (f 2)))) 没关系。它以函数f作为输入。你可以这样称呼
(define foo (λ (f) (+ (f 1) (f 2))))
(foo3)不起作用,任何其他参数都表示它需要1个参数。我想讲师的意思是:
(define foo (λ (f) (+ f f)) )
据我所知,(f1)在scheme中不是一个有效的表达方式,但是如果第一个函数实际上是一个正确的函数,有人能给我一个有效输入的例子吗
(define foo (λ (f) (+ (f 1) (f 2))))
没关系。它以函数f作为输入。你可以这样称呼它:
(define g (lambda (x) (* x 10)))
(foo g)
更新:我发现了这个示例,因此函数是正确的。但我不确定这里到底发生了什么 (定义foo(λ(f)(+(f1)(f2))) (foo(λ(x)(*x2))) 产出:6
编辑:不管怎样,当我打字的时候,我终于明白了语法。如果参数f是一个函数,那么(f1)就意味着输入为1的f,那么这个例子就有意义了。我是否应该删除这个问题可能对任何人都没有用?不要删除它。