假设我有一个过程 foo,它接受三个参数,并返回一个列表,它们都加倍:
(define (foo a b c)
(list (* 2 a ) (* 2 b) (* 2 c)))
我想做的是创建另一个接受列表的过程,并使用列表元素作为参数调用 foo ,如下所示:
(define (fooInterface myList)
...)
(fooInterface (list 1 2 3))
问题是,我不想写 fooInterface 假设 foo 总是有 3 个参数。也就是说,如果我向 foo 添加一个额外的参数,只要传入的列表有 3 个元素,fooInterface 应该仍然有效。