Oh, I see. So foo ? quux evaluates to foo ? "quux". Seems a bit confusing, but everything is clear now :)
Thanks On 9 May 2016 at 15:52, Guillaume Maudoux (Layus) <[email protected]> wrote: > You are missing the only command that could enlighten you : > >> foo ? bar > true > > The second operant is taken as a string literal, that's why you need to > evaluate variables there. > The following also works : > >> foo ? ${quux} > true > > -- Layus. > > Le 09/05/16 à 15:25, Samuel a écrit : >> Am I holding some false assumption here? It seems the ? operator has >> different behaviour depending on how the right hand side is evaluated: >> >> nix-repl> foo = { bar = "baz"; } >> >> nix-repl> quux = "bar" >> >> nix-repl> foo ? "bar" >> true >> >> nix-repl> foo ? quux >> false >> >> nix-repl> foo ? "${quux}" >> true >> >> nix-repl> quux == "${quux}" >> true >> >> nix-repl> builtins.typeOf quux >> "string" >> > > _______________________________________________ > nix-dev mailing list > [email protected] > http://lists.science.uu.nl/mailman/listinfo/nix-dev -- Samuel _______________________________________________ nix-dev mailing list [email protected] http://lists.science.uu.nl/mailman/listinfo/nix-dev
