Scheme 在Racket/PLT方案中使用列表中的元素作为参数

Scheme 在Racket/PLT方案中使用列表中的元素作为参数,scheme,racket,Scheme,Racket,在我无法修改的库中,有一个函数将值列表作为其参数之一 对于这个问题,我们可以称之为fun。我有一个函数,它以列表的形式返回多个参数,我想知道如何从列表中提取这些值并将其传递到函数中。例如,下面是fun: (乐趣(列出一些值、一些值、一些值2 arg1 arg2 arg3…等)) 我的函数是,进程数据将返回类似于(列表arg1 arg2 arg3…等)。如何将函数返回的列表内容与someval和someval2一起传递给fun?使用: list*接受它的参数,并将它们像list那样构建到一个列表中

在我无法修改的库中,有一个函数将值列表作为其参数之一

对于这个问题,我们可以称之为
fun
。我有一个函数,它以列表的形式返回多个参数,我想知道如何从列表中提取这些值并将其传递到函数中。例如,下面是
fun

(乐趣(列出一些值、一些值、一些值2 arg1 arg2 arg3…等))

我的函数是,进程数据将返回类似于
(列表arg1 arg2 arg3…等)
。如何将函数返回的列表内容与
someval
someval2
一起传递给fun?

使用:

list*
接受它的参数,并将它们像
list
那样构建到一个列表中,但如果最后一个参数是一个列表,它会使用它作为列表的尾部,例如
(list*12'(3 4 5))
(1 2 3 4 5)
。因此,一旦你计算了
someval
someval2
,以及你想要传递给
fun
的参数列表(我在上面的代码中将列表命名为
args
),你就可以把它构建成一个带有
(list*someval-someval2 args)
的列表,然后将该列表传递给
fun
使用:

list*
接受它的参数,并将它们像
list
那样构建到一个列表中,但如果最后一个参数是一个列表,它会使用它作为列表的尾部,例如
(list*12'(3 4 5))
(1 2 3 4 5)
。因此,一旦您计算了
someval
someval2
,以及要传递给
fun
的参数列表(我在上面的代码中将列表命名为
args
),您就可以将其构建为一个带有
(list*someval-someval2 args)
的列表,然后将该列表传递给
fun

(let ([someval (some-func ...)]
      [someval2 [some-func2 ...)]
      [args (my-func ...)])
  (fun (list* someval someval2 args)))