基于“有点像 Map,但参数数量可变。”我想您可能正在寻找 Apply 到 1 级。这是通过以下方式完成的:
Apply[function, array, {1}]
或简写:
function @@@ array
这是它的作用:
array = {{1, 2, 3}, {a, b, c}, {Pi, Sin, Tan}};
action @@@ array
{action[1, 2, 3], action[a, b, c], action[Pi, Sin, Tan]}
我上面使用的术语可能会产生误导,并限制了Apply 的力量。应用action 的表达式不必是矩形数组。它甚至不需要是 List: {...} 或者它的元素是列表。下面是一个包含这些可能性的示例:
args = {1, 2} | f[a, b, c] | {Pi};
action @@@ args
动作[1, 2] |动作[a, b, c] |动作[Pi]
-
args 不是List 而是一组Alternatives
- 传递给
action 的参数数量不同
-
args 的元素之一有头部f
注意:
-
action 替换 args 的每个元素的头部,不管它是什么。
-
args 的头部保留在输出中,在本例中为 Alternatives(简称:a | b | c)