* New builtin functions builtins.{hasAttr, getAttr} to check for
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)
This commit is contained in:
parent
666babbbfa
commit
8a1ab709a4
3 changed files with 27 additions and 0 deletions
10
tests/lang/eval-okay-attrs2.nix
Normal file
10
tests/lang/eval-okay-attrs2.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue