diff options
author | Shea Levy <shea@shealevy.com> | 2014-01-22T00·33+0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-02-26T13·06+0100 |
commit | 733214144a7a910001c1c82683db780853bac9b1 (patch) | |
tree | ee875c5888232ecc42b2ac6045a4725ce82b481c /doc | |
parent | 42eb4afd7a38f3024a66da037d9f39859f7bd8f3 (diff) |
Document dynamic attributes
Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/manual/release-notes.xml | 6 | ||||
-rw-r--r-- | doc/manual/writing-nix-expressions.xml | 21 |
2 files changed, 23 insertions, 4 deletions
diff --git a/doc/manual/release-notes.xml b/doc/manual/release-notes.xml index 37bb730f4063..56f7bd65490d 100644 --- a/doc/manual/release-notes.xml +++ b/doc/manual/release-notes.xml @@ -21,6 +21,12 @@ <listitem><para><command>nix-setuid-helper</command> is gone.</para></listitem> + <listitem><para>Now antiquotation is allowed inside of quoted + attribute names (e.g. <literal>set."${foo}"</literal>). In the + case where the attribute name is just a single antiquotation, + the quotes can be dropped (e.g. the above example can be written + <literal>set.${foo}</literal>).</para></listitem> + </itemizedlist> </section> diff --git a/doc/manual/writing-nix-expressions.xml b/doc/manual/writing-nix-expressions.xml index c5b355ea0469..71cd84b072b4 100644 --- a/doc/manual/writing-nix-expressions.xml +++ b/doc/manual/writing-nix-expressions.xml @@ -851,13 +851,26 @@ default value in an attribute selection using the will evaluate to <literal>"Xyzzy"</literal> because there is no <varname>c</varname> attribute in the set.</para> -<para>You can use arbitrary string constants as attribute names by -enclosing them in quotes: +<para>You can use arbitrary double-quoted strings as attribute +names: <programlisting> -{ "foo bar" = 123; "nix-1.0" = 456; }."foo bar" </programlisting> +{ "foo ${bar}" = 123; "nix-1.0" = 456; }."foo ${bar}" +</programlisting> + +This will evaluate to <literal>123</literal> (Assuming +<literal>bar</literal> is antiquotable). In the case where an +attribute name is just a single antiquotation, the quotes can be +dropped: + +<programlisting> +{ foo = 123; }.${bar} or 456 </programlisting> + +This will evaluate to <literal>123</literal> if +<literal>bar</literal> evaluates to <literal>"foo"</literal> when +coerced to a string and <literal>456</literal> otherwise (again +assuming <literal>bar</literal> is antiquotable).</para> -This will evaluate to <literal>123</literal>.</para> </simplesect> |