How to reverse a series of variable assignments?
Show older comments
In my code, I frequently have blocks of code of the form
var1 = setting1;
othervar2 = othersetting2;
somevar3 = somesetting3;
where I don't have names of the variables or settings in some way that i can program. Even if i did, I think i would be using eval, and i don't want to do that.
It's common that i later wish to perform analogus assignments in reverse, so i would have a block like
setting1 = var1;
othersetting2 = othervar2;
somesetting3 = somevar3;
This can be very tedious to write out. Does there exist a standard way to performing a line-by-line edit which swaps the left and right side of the variable assignment?
I imagine If i copy the code into a text file, it wouldn't be too hard to write a script that produces a new text file with all the variable assignments swapped, but I wonder if this exists already or if there's a term for this.
Accepted Answer
More Answers (1)
I tend to use deal to make it more or less compact:
[var,othervar,somevar]=deal(setting1,othersetting,somesetting);
Now if I want to reverse this I only need to swap the parts between the braces and parentheses, which is easy and fast.
However, you could do some magic with eval (and inputname to make it somewhat robust). The result will not be very clean. You might also consider something like the function below.
function varargout=flipflop_assign(order,varargin)
varargout=varargin(order);
end
6 Comments
Michael Van de Graaff
on 11 Mar 2021
Rik
on 11 Mar 2021
I don't really understand how your question, comment and answer relate to each other, but from your vote it seems at least my answer help you, so, glad to be of service.
Michael Van de Graaff
on 11 Mar 2021
Rik
on 12 Mar 2021
About the abitlity to fold your code: you can also use sections (%%) to fold your code, which will avoid the perfomance hit (however minimal) and the indententation of your code.
Michael Van de Graaff
on 1 Apr 2021
Edited: Michael Van de Graaff
on 9 Dec 2021
Rik
on 2 Apr 2021
That might be the case. I never use AppDesigner, but I always create GUIs in the normal editor (and I would do so for a class-based GUI as well).
Categories
Find more on Environment and Settings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!