
Re: The syntax of MATLAB is inconsistent
Posted:
May 16, 2013 3:47 AM


% This command has an assignment operator and it is considered to be an assignment. z .a = 0; % So far so good. However, this command has an assignment operator too: z .(a) = 0; % Nevertheless, it is considered to be a function call. % If that is consistent, I do not know what is not.
U?ytkownik "Bruno Luong" napisa? w wiadomo?ci grup dyskusyjnych:kn217h$o03$1@newscl01ah.mathworks.com...
<kzelechowski@e3tech.local> wrote in message <5194852e$0$1215$65785112@news.neostrada.pl>... > % Consider: > z .a = 0; > % There is a space between z and the period too. Nevertheless, MATLAB > does NOT assume that z is a function. > % If that is consistent, I do not know what is not. >
Hightight of the doc http://www.mathworks.com/help/matlab/matlab_prog/commandvsfunctionsyntax.html
[ In general, when MATLAB recognizes an identifier (which might name a function or a variable), it analyzes the characters that follow the identifier to determine the type of expression, as follows:
An equal sign (=) implies assignment. For example:
ls =d ]
So the syntax interpretation of "z .a =" as assignment is defined and documented. It is then consistent.
Bruno

