• [^] # Re: Sather

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche À la découverte du langage V. Évalué à 2.

    J'aurais cru que le marqueur est end; (une seule instruction et non deux), mais en regardant d'autres source je comprends juste que ; est requis ...sauf
    - fin de ligne de commentaire introduit par --
    - après les mots clé is, then, else.
    Ce dernier point que j'ai d'abord vu comme des exceptions (donc surprenant) fait sens quand on sait qu'une instruction ne peut pas se terminer abruptement dessus...

    scale_x(x:INT):INT is
     if x > 0 then return 15;
     else raise "An error occurred!"; end;
    end;
    

    (exemple en 2.4 du manuel sur l'essentiel...) peut s'étaler comme suit (qui t'a choqué)

    scale_x(x:INT):INT is
     if x > 0 then
     return 15;
     else
     raise "An error occurred!";
     end;
    end;
    

    ou même se compacter comme suit (je suppose, mais le is if est piquant)

    scale_x(x:INT):INT is if x > 0 then return 15;
     else raise "An error occurred!"; end; end;
    

    "It is seldom that liberty of any kind is lost all at once." ― David Hume