在Scheme中列出参数

Cam*_*Cam 2 scheme list procedures racket

假设我有一个带有三个参数的过程foo,并返回一个全部加倍的列表:

(define  (foo a b c)
  (list (* 2 a ) (* 2 b) (* 2 c)))
Run Code Online (Sandbox Code Playgroud)

我希望能够做的是创建另一个接受列表的过程,并使用list元素作为参数调用foo,如下所示:

(define (fooInterface myList)
  ...)

(fooInterface (list 1 2 3))
Run Code Online (Sandbox Code Playgroud)

问题是,我不想写fooInterface,假设foo总是有3个参数.也就是说,如果我向foo添加一个额外的参数,只要传入的列表有3个元素,fooInterface仍然可以工作.

Eli*_*lay 11

您正在寻找的是什么apply.