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