如何使用内置列表功能“过滤器”
请帮助我使用 DrScheme 内置功能“过滤器”。
“创建一个函数“hello”,它使用数字“Max”和数字“L”列表,在“L”中生成小于“Max”的数字列表。”
编辑 取自格式化的评论,
这是我到目前为止所拥有的,
(define (smaller? n Max)
(cond
[(> Max n) n]
[else empty]))
(define (hello Max L)
(filter smaller? L))
我不知道如何将 Max 实现到函数 hello 中。
Please help me with using the DrScheme built-in function "filter".
"create a function "hello" that consumes a number 'Max', and a list of numbers 'L', produce a list of numbers in 'L' that are smaller than 'Max'."
edit Taken from the comments for formatting
this is what i have so far
(define (smaller? n Max)
(cond
[(> Max n) n]
[else empty]))
(define (hello Max L)
(filter smaller? L))
I don't know how to implement Max into the function hello.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用您的
smaller?
定义,我会选择类似This 使用 lambda 函数,该函数是 hello 函数的 Max 参数的闭包。 因此,它将 Max 嵌入到用于过滤的 lambda 函数中。
Using your
smaller?
definition, I would go for something likeThis uses a lambda function which is a closure over the Max argument to the hello function. So it "embeds"
Max
inside the lambda function used for filtering.提示:您可以使用 lambda 创建匿名函数:
编辑:另一个提示:
(> Max n)
已经返回一个布尔值,您不需要不需要封闭的cond
结构。Hint: You can create an anonymous function with
lambda
:edit: Another hint:
(> Max n)
already returns a boolean, you don't need an enclosingcond
structure.