gpt4 book ai didi

rest - common lisp 如何转换剩余参数列表

转载 作者:行者123 更新时间:2023-12-01 11:54:57 28 4
gpt4 key购买 nike

我是普通 lisp 的新手,因此我的问题可能很简单,但我没有找到任何东西,也许我使用了错误的搜索词。

我遇到了以下问题:我有一个函数可以对任意数量的参数进行特殊添加。下一步是将该函数应用于任意数量的相同大小的列表,结果将是该大小的列表。如果我打电话就可以了(mapcar #'addition list1 list2 ...)但是如果我必须定义一个函数(defun list-add (list &rest lists)
(mapcar #'添加列表列表))
它不会工作,因为 &rest lists 现在是一个列表列表。添加函数需要按顺序调用所有参数,因此递归调用是不可能的。

有没有人有解决办法?

最佳答案

参见 APPLY .

还要注意 CALL-ARGUMENTS-LIMIT 的值.

显而易见的解决方案是:

(defun list-add (&rest lists)
(apply #'mapcar #'addition lists))

关于rest - common lisp 如何转换剩余参数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8119167/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com