Nix 将可变参数从函数添加到集合
Nix add variadic args to a set from a function
在 nix 中可以实现这样的功能吗?
f = {x, y, ...}:
{
x = x + 1;
y = y + 2;
...;
}
其中调用 f
一组参数 returns 一组:
f { x = 1; y = 2; } -> { x = 2; y = 4; }
f { x = 1; y = 2; z = 5 } -> { x = 2; y = 4; z = 5; }
f { x = 1; y = 2; z = 5; s = "str"; } -> { x = 2; y = 4; z = 5; s = "str"; }
说清楚。省略号集 ...
是 可变参数类型 并不意味着日常语言中使用的等等。这里的解决方案是如果可能的话在省略号上调用 get { ... }
。但是我不知道语言是否支持这个。
这应该有效:
f = args@{x, y, ...}: args // { x = x + 2; y = y + 2; }
您可以在此处阅读更多相关信息:
在 nix 中可以实现这样的功能吗?
f = {x, y, ...}:
{
x = x + 1;
y = y + 2;
...;
}
其中调用 f
一组参数 returns 一组:
f { x = 1; y = 2; } -> { x = 2; y = 4; }
f { x = 1; y = 2; z = 5 } -> { x = 2; y = 4; z = 5; }
f { x = 1; y = 2; z = 5; s = "str"; } -> { x = 2; y = 4; z = 5; s = "str"; }
说清楚。省略号集 ...
是 可变参数类型 并不意味着日常语言中使用的等等。这里的解决方案是如果可能的话在省略号上调用 get { ... }
。但是我不知道语言是否支持这个。
这应该有效:
f = args@{x, y, ...}: args // { x = x + 2; y = y + 2; }
您可以在此处阅读更多相关信息: