Recognizing properties, methods and function names in Matlab code.
Ältere Kommentare anzeigen
I'm writing a global naming convention change utility for Matlab code. To this end, I would like to know the answers to the following:
In correctly written Matlab and excluding dynamic access:
1. Given a property name outside of its declaration in class, will it always be preceded by a dot?
2. Given a method name outside of its declaration in class, will it always be preceded by a dot?
3. Given a method name outside of its declaration in class, will it always be followed by zero or more whitespaces and an open parenthesis OR followed by an @ symbol?
4. Given a standalone function name will it always, in correctly (non-deprecated) written code, be followed by zero or more whitespaces and an open parenthesis OR be preceded by an @ symbol?
Thank you for any help.
Antworten (1)
Bruno Luong
am 16 Apr. 2022
0 Stimmen
None of that is true. Some counter examples:
- set(obj, 'property', value)
- mymeth(obj, ...)
- obj.mymeth % no argument
- feval('myfun', arg1)
8 Kommentare
SK
am 16 Apr. 2022
Bruno Luong
am 16 Apr. 2022
Bearbeitet: Bruno Luong
am 16 Apr. 2022
"3 is bad form in my opinion"
it's your opinion. who use
alpha = pi();
insteade of
alpha = pi;
If you want your utility to work and robust, you cannot assume it only works on what you consider as good practice.
Bruno Luong
am 16 Apr. 2022
Bearbeitet: Bruno Luong
am 16 Apr. 2022
Also would you have to know foo is property or method for this case?
bar = obj.foo(1);
Then all the structure fields use also dot syntax that can create confusion.
SK
am 16 Apr. 2022
Bruno Luong
am 16 Apr. 2022
Well as you migh guess this is accessing to the first element of a property.
SK
am 16 Apr. 2022
SK
am 16 Apr. 2022
Kategorien
Mehr zu Number Theory finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!