How to invert bool false/true in alias compose?
mipri
mipri at minimaltype.com
Sat Dec 7 04:05:23 UTC 2019
On Saturday, 7 December 2019 at 04:00:53 UTC, Marcone wrote:
> import std;
>
> alias cmd = compose!(to!bool, wait, spawnShell, to!string);
>
> void main(){
> writeln(cmd("where notepad.exe"));
> }
>
>
> Result:
>
> C:\Windows\System32\notepad.exe
> C:\Windows\notepad.exe
> false
>
>
> The result show "false" because good spawnshell command return
> 0 and 0 to bool is false. But I want to invert false to true to
> get true or false if command success.
These all work:
alias cmd = compose!(unaryFun!"!a", to!bool, wait, spawnShell,
to!string);
alias cmd = compose!("!a", to!bool, wait, spawnShell, to!string);
alias cmd = compose!(b => !b, to!bool, wait, spawnShell,
to!string);
More information about the Digitalmars-d-learn
mailing list