or_else |
Ou autrement |
GNU Pascal |
Syntaxe
operator or else (operand1, operand2: Boolean) = Result: Boolean;
|
operator or_else (operand1, operand2: Boolean) = Result: Boolean;
|
Paramètres
Nom |
Description |
operand1 |
Ce paramètre permet d'indiquer l'opérande à traiter. |
operand2 |
Ce paramètre permet d'indiquer l'opérande du masque binaire. |
Result |
Ce paramètre permet de retourner le résultat. |
Description
Ce mot réservé permet d'effectuer un Ou logique sur des booléens ou Ou binaire sur des valeurs numériques en s'assurant qu'il ne soit pas mélangé avec le reste d'une opération de test.
L'opérateur logique de court-circuit or_else effectue la même opération que l'opérateur logique or. Mais alors que la norme ISO ne spécifie
rien sur l'évaluation des opérandes de or - ils peuvent être évalués dans n'importe quel ordre, ou pas du tout - tandis or_else a un
comportement bien défini : elle évalue le premier opérande. Si le résultat est True, or_else renvoie True sans évaluer le
second opérande. Si la valeur est False, le deuxième opérande est évalué et renvoyé.
Remarques
- Par défaut le GPC traite les mots réservés or et or_else exactement de la même manière. Si, pour une raison quelconque, vous souhaitez que les 2 opérandes soient évalués rapidement ou évalués complètement, vous devez les affecter aux variables temporaires, puis utiliser or - ou utiliser ou_else.
- Le mot réservé or_else est défini dans la norme ISO 10206 Extended Pascal et le «or else» est une extension GNU Pascal.
- Certaines personnes pensent que la norme ISO requiert les 2 opérandes or afin d'être évaluée. C'est faux. La norme ISO stipule que vous ne
pouvez pas compter sur un certain ordre d'évaluation des opérandes de or; En particulier, des éléments tels que le programme suivant peuvent se bloquer
selon la norme ISO Pascal, bien qu'ils ne puissent pas se bloquer lorsqu'ils sont compilés avec GNU Pascal exécuté en mode par défaut.
Dernière mise à jour : Dimanche, le 22 octobre 2017