在我无法修改的库中,有一个函数将值列表作为其参数之一。
为了这个问题,我们可以称之为fun
。我有一个函数,它返回多个参数作为列表,并想知道如何从列表中提取这些值并将其传递给函数。例如,这里是fun
:
(fun (list someval someval2 arg1 arg2 arg3 ... etc))
。
我处理数据的函数会返回类似于(list arg1 arg2 arg3 ... etc)
的函数。我怎样才能将我的函数返回的列表内容与someval
和someval2
一起传递给我们?
答案 0 :(得分:4)
使用list*
:
(let ([someval (some-func ...)]
[someval2 [some-func2 ...)]
[args (my-func ...)])
(fun (list* someval someval2 args)))
list*
接受它的参数并将它们构建成像list
这样的列表,但是如果最后一个参数是一个列表,它会将其用作列表的尾部,例如: (list* 1 2 '(3 4 5))
是'(1 2 3 4 5)
。因此,一旦您计算someval
,someval2
以及要传递给fun
的参数列表(我在上面的代码中将列表命名为args
),您就可以构建使用(list* someval someval2 args)
将其列入一个列表,然后将该列表传递到fun
。