diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-09-22 14:31:55 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-09-22 14:31:55 +0000 |
commit | 8a1ab709a47f0896cb5b47521e31c8c27f88b2b3 (patch) | |
tree | 6f22611693ac7b03903bd561cfe83c42a4596ebc /tests/lang | |
parent | 666babbbfa2fc168b8d511a35065d352b4979dae (diff) |
* 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)
Diffstat (limited to 'tests/lang')
-rw-r--r-- | tests/lang/eval-okay-attrs2.exp | 1 | ||||
-rw-r--r-- | tests/lang/eval-okay-attrs2.nix | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/tests/lang/eval-okay-attrs2.exp b/tests/lang/eval-okay-attrs2.exp new file mode 100644 index 000000000..add36384d --- /dev/null +++ b/tests/lang/eval-okay-attrs2.exp @@ -0,0 +1 @@ +Int(987)
\ No newline at end of file diff --git a/tests/lang/eval-okay-attrs2.nix b/tests/lang/eval-okay-attrs2.nix new file mode 100644 index 000000000..9e06b83ac --- /dev/null +++ b/tests/lang/eval-okay-attrs2.nix @@ -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; +} |