繁体   English   中英

以下功能在Scheme编程语言中做什么

[英]What does the following function do in Scheme programming language

(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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM