12
votes

Que font les virgules de fin de ligne à Matlab?

C'est difficile à regarder: Que font les virgules de fin de ligne à Matlab? Dans le couple de petits tests que j'ai faits, ils ne semblent pas rendre le code se comporter différent. J'aimerais savoir parce qu'ils sont partout dans ce code, je n'ai pas écrit (mais je dois maintenir).

Exemples de ce que je veux dire: P>

if nargin<1,
    % code
end

if isError,
    % code
end

try,
    % code
    while 1,
        % even more code
    end
catch,
    % code
end


0 commentaires

4 Réponses :


1
votes

Je pense que la virgule dans Matlab est comme le point-virgule de C. Il sépare les commandes, vous pouvez donc mettre plusieurs commandes dans une ligne séparée par des virgules.

La façon dont votre programme est écrit, je crois que les virgules ne font aucune différence.


0 commentaires

4
votes

Si vous avez lu des fichiers M codés bien codés (par exemple, bon nombre des fonctions MATLAB intégrées), vous découvrirez une variante de la construction si ... End Construct écrit sur une ligne. Voici un exemple
si x <0, app ('imaginaire'); fin de
Remarquez la virgule entre X <0 et le DISP (...). Apparemment, la virgule indique à l'interprète Matlab que le test conditionnel est terminé. À ma connaissance, ce n'est qu'un endroit où une déclaration (OK, une partie d'une déclaration) se termine par une virgule. C'est juste une de ces bizarreries que de vrais croyants viennent à utiliser sans hésitation.

http://web.cecs.pdx.edu/ ~ Gerry / Matlab / Programmation / Basics.html


1 commentaires

@Benjamin oui. @Albert Vous voyez également occasionnellement voir essayer , attrayez et pour , fin sur la même ligne.



16
votes

Selon le Documentation pour le Caractère des virgules dans Matlab , l'une de ses fonctions consiste à séparer les déclarations d'une ligne. S'il n'y a qu'une seule déclaration sur une ligne, la virgule n'est pas nécessaire. Je n'aime pas le voir là-bas, bien que je sache que certaines personnes écrivent du code de cette façon.


0 commentaires

9
votes

Comme d'autres ont souligné, les virgules à la fin d'une ligne sont inutiles. Ils sont vraiment juste pour la séparation des déclarations sur la même ligne. mlint et l'éditeur donnera même Vous avertissez si vous en utilisez un sans avoir besoin:

 Entrez la description de l'image ici xxx


1 commentaires

Haha, je suppose que c'est ce que vous obtenez pour utiliser vim pour éditer le code MATLAB ... J'ai eu quelque chose à utiliser Mlint avec elle. Peut-être avoir à essayer d'essayer maintenant.