attribute existence and to return an attribute from an attribute
set, respectively. Example: `hasAttr "foo" {foo = 1;}'. They
differ from the `?' and `.' operators in that the attribute name is
an arbitrary expression. (NIX-61)
10 lines
231 B
Nix
10 lines
231 B
Nix
let {
|
|
as = { x = 123; y = 456; } // { z = 789; } // { z = 987; };
|
|
|
|
A = "a";
|
|
Z = "z";
|
|
|
|
body = if builtins.hasAttr A as
|
|
then builtins.getAttr A as
|
|
else assert builtins.hasAttr Z as; builtins.getAttr Z as;
|
|
}
|