【问题标题】:List of arguments of structures结构参数列表
【发布时间】:2019-11-30 11:01:43
【问题描述】:

由于我对球拍还很陌生,我偶然发现了一个我无法解决的问题。

为了分解它,我有一个包含多个相同类型结构的列表,我想创建一个列表,其中每个元素结构只有一个特定参数。像这样的:

(define-struct sample (name number))
(define samples (list (make-sample "A" 1) (make-sample "B" 2)))

因此,当将该函数应用于此列表时,我会得到以下列表:

(lit "A" "B")

我想在不递归的情况下解决这个问题,只使用 lambda 表达式和 map 和 fold。

我尝试使用以下方法访问每个元素参数:

(foldr sample-name samples)

但这不起作用。

有谁知道如何解决这个问题?

提前感谢您! 应用

【问题讨论】:

    标签: scheme lisp racket fold


    【解决方案1】:

    您正在寻找map,请查看文档以了解foldrmap 之间的区别。

    (map sample-name samples)
    => '("A" "B")
    

    【讨论】:

    • 谢谢。我刚刚尝试过并编辑了我的问题,感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2012-11-18
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    相关资源
    最近更新 更多