gpt4 book ai didi

lisp - 将列表传播到父级 sexp

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:37 26 4
gpt4 key购买 nike

在任何 lisp 中是否有一种形式可以“传播”父 sexp 中的列表?喜欢:

(+ (spread '(1 2 3))) -> (+ 1 2 3)

最佳答案

有两种方法可以做到这一点。哪个更好取决于你最终想要什么。

通常,您可以在`(反引号)中使用,@,@ 之后的形式被评估以产生一个列表,然后将其拼接到模板中:

* `(+ ,@'(1 2 3))
(+ 1 2 3)

* (eval `(+ ,@'(1 2 3)))
6

或者,如果你只是想调用一个函数,它的参数被打包在一个列表中,使用 apply 函数会更方便:

* (apply #'+ '(1 2 3))
6

关于lisp - 将列表传播到父级 sexp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12015885/

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