Возможно ли что-то подобное в nix?
f = {x, y, ...}:
{
x = x + 1;
y = y + 2;
...;
}
, где вызов f
для набора аргументов возвращает набор:
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"; }
Для ясности. Набор многоточия ...
является variadi c тип аргумента и не означает, что и так далее используется в повседневном языке. Решение здесь состоит в том, чтобы вызвать get { ... }
на многоточии, если это возможно. Но я не знаю, поддерживает ли язык это.