forked from lix-project/lix
8a1ab709a4
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)
11 lines
231 B
Nix
11 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;
|
|
}
|