gpt4 book ai didi

list - 如何将 Scheme 中的函数应用于另一个函数返回的参数列表?

转载 作者:行者123 更新时间:2023-12-04 22:50:33 26 4
gpt4 key购买 nike

假设有两个函数,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)))

我相信一定有更好的方法,我将不胜感激任何建议!

最佳答案

看来您正在寻找 apply :

(apply f (v v-arguments))

如解释 here , apply function 将函数应用于参数列表,有效地将它们作为位置参数传递给该函数。

关于list - 如何将 Scheme 中的函数应用于另一个函数返回的参数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com