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

Reply via email to