Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

How to? Put logic into an alias...

May
855
0
I'm keeping this simple to start. Is there any way to do "If(somecondition,dosomething,dosomethingelse)" in an alias?
 
Hi Mathew,

Code:
(system)  C:\TEMP >%@if[%_dow eq Thu,echo have a nice weekend,echo day of week is: %_dow]
day of week is: Fri
 
(system)  C:\TEMP >%@if[%_dow eq Fri,echo have a nice weekend,echo day of week is: %_dow]
have a nice weekend
 
Frank, I must have done something wrong (I'm half blind), but @If didn't work for me. So extending it a little bit: can you code the "true" and "false" clauses as a sequence of commands?
 
I have many aliases structured thusly:
alias reciprocal=`iff %1 NE 0 then %+ echo %@eval[ 1 / %1] %+ else %+ echo 0 has no reciprocal %+ endiff`

The advantage over @IF is that only the desired branch is executed, the "false" branch can contain expressions causing failure.
 
Thank you Steve; somehow I had the idea that IFF couldn't be used in an alias the way you are using it. I obviously should have tried it before making that assumption.
 
I'm keeping this simple to start. Is there any way to do "If(somecondition,dosomething,dosomethingelse)" in an alias?
Code:
v:\> alias zz `%@if[%q==1,echo foo,echo bar]`
 
v:\> set q=1
 
v:\> zz
foo
 
v:\> set q=2
 
v:\> zz
bar
 
Code:
v:\> alias zz `if %q==1 (echo foo) else (echo bar)`
 
v:\> set q=1
 
v:\> zz
foo
 
v:\> set q=2
 
v:\> zz
bar
 

Similar threads

Back
Top