假设有两个函数,f和v。进一步假设v返回一个长度为n的列表,f期望正好有n个参数。我在Scheme中寻找正确的语法,将f应用于v。
返回的列表如果我使用语法(f (v v-arguments))
,那么我得到一个错误,关于f期望n个参数但只接收一个参数(这是v返回的列表)。
如果我使用语法(f . (v v-arguments))
,那么问题是传递给f的参数太多了。
我能做的最好(对于f期望两个参数的情况)是这样的:
(let ((output-of-v (v v-arguments)))
(f (car output-of-v) (cadr output-of-v)))
我相信一定有更好的方法,我会感激任何建议!