【问题标题】:How to cons an argument to every list in a list of lists?如何对列表列表中的每个列表添加一个参数?
【发布时间】:2018-03-18 23:51:19
【问题描述】:

我试图在函数(consToAll A L) 中接收一个参数 A 和一个列表 L,并将该参数添加到该列表的每个子列表中。

最好的方法是什么?

这是所需的输出:

如果 L 是 ( (1) (2) (3) ) 然后(consToAll 'a L) 返回:

( (a 1) (a 2) (a 3) ).

【问题讨论】:

    标签: functional-programming scheme


    【解决方案1】:

    将 'a 视为变量 var
    回答了类似的问题here

    将 f 替换为 var 并将函数调用 (f (...)) 替换为 (cons var (car L))

    【讨论】:

      【解决方案2】:

      R5RS/R6RS/R7RS 有一个内置的“映射”程序,它将映射到您的列表 L。最简单的方法是使用它将 A 加入每个子列表。

      编辑:顺便提一下,你的 consToAll 过程不会像你想象的那样返回'( (a 1) (a 2) (a 3) ),它是一个字面常量,但会返回一个列表列表( (a 1) (a 2) (a 3) )。见What is the difference between quote and list?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-11
        • 1970-01-01
        • 2020-01-23
        • 1970-01-01
        • 2021-12-22
        • 1970-01-01
        相关资源
        最近更新 更多