Cette page me laisse sceptique
- l'exemple est très particulier
- "le flag est un booléan" :
Pour moi non, c'est la condition sur le flag qui doit être booléenne
1)
Si, je lis un fichier ou entete http ou ..., je vais avoir une variable texte. Je ne vais pas la convertir en booléan si je ne l'utilise que immédiatement après
Oui, je peux écrire:Code:
1
2 flag = line.split("=")[1] if flag == "On": # ou if flag == CONST_ON:
Dans le cas 1, j'ai exactement la même notion de flag sans valeur booléenne, mais c'est juste un changement de style de codage. Avec la gestion des erreurs (et autres?), il est même possible que parfois le cas 1 soit meilleur.Code:
1
2 flag = True if line.split("=")[1] == "On" else False if flag:
2)
Même chose si l'on a plusieurs valeurs dans le flag (syntaxe simili python), c'est la condition qui est booléenne
en fait on va créer une "constante" à base de x constantes pour la comparer au flagCode:if (ENUM.write and ENUM.append) in flag:
Mais comme une condition est toujours booléenne :roll: tous les if sur une variable est un flag ????? :aie: puisque non,
le flag est la variable dans une condition (booléenne) entre cette variable et une constante qui conduit à un embranchement
ps: zut, je ne peux pas écrire "une condition if (ou case) entre variable et constante" vu l'exemple donné avec "while"