I like my scripts to be readable and terse. They’re scripts after all and I want to get the most done with the least amount of code. There’s a lot to be said for having a readable script but I only value that when I intend to keep the script around for awhile.
PowerShell does not have a ternary operator and that often frustrates me as I end up writing lots of verbose code.
Once again, fix it by introducing a small function into my profile. Not quite a true ternary operator because it evaluates both of the result arguments. But it does the trick for most situations.
param ( [bool]$condition = $(throw “Need a conditional”),
$valueTrue = $(throw “Need a value for the true condition”),
$valueFalse = $(throw “Need a value for the false condition”) )
if ( $condition )
Now I can type
PS> Get-Ternary $cond 1 42