Il doit y avoir un moyen de dire où la condition se termine et où la branche commence. Il y a différentes façons de le faire.
Dans certaines langues, il n'y a pas conditionals du tout , par exemple dans Smalltalk, auto, novlangue, Io, Ioke, Seph et Fantaisie. Le branchement conditionnel est simplement implémenté comme une méthode normale comme toute autre méthode. La méthode est implémentée sur des objets booléens et est appelée sur un booléen. De cette façon, la condition est simplement le destinataire de la méthode et les deux branches sont deux arguments, par exemple dans Smalltalk:
aBooleanExpression ifTrue: [23] ifFalse: [42].
Si vous êtes plus familier avec Java, cela équivaut à ce qui suit:
aBooleanExpression.ifThenElse(() -> 23, () -> 42);
Dans la famille de langages Lisp, la situation est similaire: les conditionnelles sont juste des fonctions normales (en fait, des macros) et le premier argument est la condition, les deuxième et troisième arguments sont les branches, donc ce ne sont que des arguments de fonctions normales, et il y a rien de spécial n'est nécessaire pour les délimiter:
(if aBooleanExpression 23 42)
Certaines langues utilisent des mots clés comme délimiteurs, par exemple, Algol, Ada, BASIC, Pascal, Modula-2, Oberon, Oberon-2, Oberon actif, Component Pascal, Zonnon, Modula-3:
IF aBooleanExpression THEN RETURN 23 ELSE RETURN 42;
En Ruby, vous pouvez utiliser un mot clé ou un séparateur d'expression (point-virgule ou nouvelle ligne):
if a_boolean_expression then 23 else 42 end
if a_boolean_expression; 23 else 42 end
# non-idiomatic, the minimum amount of whitespace required syntactically
if a_boolean_expression
23 else 42 end
# idiomatic, although only the first newline is required syntactically
if a_boolean_expression
23
else
42
end
Go exige que les branches soient des blocs et n'autorise pas les expressions ou les déclarations, ce qui rend les accolades obligatoires. Par conséquent, les parenthèses ne sont pas obligatoires, mais vous pouvez les ajouter si vous le souhaitez. Perl6 et Rust sont similaires à cet égard:
if aBooleanExpression { return 23 } else { return 42 }
Certaines langues utilisent d'autres caractères non alphanumériques pour délimiter la condition, par exemple Python:
if aBooleanExpression: return 23
else: return 42
La ligne du bas est: vous avez besoin d' un moyen de dire où la condition se termine et où la branche commence. Il y a beaucoup de façons de le faire, les parenthèses en sont une.
THEN
).