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