
Envoyé par
wiztricks
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
1 2
| flag = line.split("=")[1]
if flag == "On": # ou if flag == CONST_ON: |
Oui, je peux écrire:
1 2
| flag = True if line.split("=")[1] == "On" else False
if flag: |
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.
2)
Même chose si l'on a plusieurs valeurs dans le flag (syntaxe simili python), c'est la condition qui est booléenne
if (ENUM.write and ENUM.append) in flag:
en fait on va créer une "constante" à base de x constantes pour la comparer au flag
Mais comme une condition est toujours booléenne
tous les if sur une variable est un flag ?????
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"
Partager