(define (unknown (lambda (x y)
(cond
((null? y) y)
((x (car y)) (unknown x (cdr y))))
(else (cons (car y) (unknown x (cdr y)))))))
我是方案方面的新手,想知道我在教科书中遇到的这个函数的用途。我的主要疑问在于 ((x (car y)) 的作用。这个表达式如何在没有任何运算符的情况下执行,但我在编译时没有遇到任何错误。尽管我无法运行该程序,因为我为 x 输入的值显然不适用于该函数。请帮忙。
最佳答案
方案函数可以将函数作为参数,并且可以返回函数。如果您传入一个函数作为参数,您的代码就有意义。
如果你这样调用代码:
(unknown even? '(1 2 3 4 5))
那么它应该返回列表 (1 3 5)。这是一个过滤函数,返回 y 的成员,其中将函数 x 应用于该成员的结果为 false。
关于functional-programming - 以下函数在Scheme编程语言中的作用是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25771920/