Reverse assignment option
While writing a piece of software I got this thought about a feature that could be provided in programming languages (at least I am not aware of any language which has this feature)
Usually when we want to assign a value of a variable ‘a’ to another variable say ‘b’ all we do is write
b=a;
Now consider this case. Suppose we want to assign the value of variable ‘a ‘ to ‘b’ if ‘c’ equals 1 OR else we want to assign ‘d’ to ‘b’, then we write
if(c==1)
b=a;
else
b=d;
an easier way to write the above code would be to use a ternary operator as
b=(c==1?a:d)
Now consider another scenario, where we want to assign ‘a ‘ to ‘b’ if ‘c’ equals 1 OR we want to assign ‘a’ to ‘e’
Oops then we cant use the ternary operator, instead we have to fallback to our old friend ’if.. else’ as
if(c==1)
b=a;
else
e=a;
Now wouldnt it be nice if this could be achieved using something like
a#(c==1?b:e) where # is the reverse assignment operator which assigns LHS to RHS !
so here if c==1 then # would assign ‘a’ to ‘b’ else it would assign ‘a’ to ‘e’ !!!
Just some crazy thoughts