Période (.)
Dans les modules, le point est utilisé pour terminer les attributs de module et les déclarations de fonctions (alias "formulaires"). Vous pouvez vous en souvenir parce que les formulaires ne sont pas des expressions (aucune valeur n'est renvoyée par eux), et donc le point représente la fin d'une déclaration.
Gardez à l'esprit que les définitions de fonctions ayant des ariés différents sont considérées comme des déclarations distinctes, et que chacune d'entre elles doit être terminée par un point.
Par exemple, les définitions des fonctions pour hello/0
et hello/1:
hello() -> hello_world.
hello(Greeting) -> Greeting.
(Notez que dans le shell erlang, le point est utilisé pour terminer et évaluer les expressions, mais c'est une anomalie).
Point-virgule ( ;)
Le point-virgule sert de séparateur de clause, à la fois pour les clauses de fonction et les branches d'expression.
Exemple 1, clauses de fonction :
factorial(0) -> 1;
factorial(N) -> N * fac(N-1).
Exemple 2, branches d'expression :
if X < 0 -> negative;
X > 0 -> positive;
X == 0 -> zero
end
Virgule (,)
La virgule est un séparateur d'expression. Si une virgule suit une expression, cela signifie qu'il y a une autre expression après elle dans la clause.
hello(Greeting, Name) ->
FullGreeting = Greeting ++ ", " ++ Name,
FullGreeting.