Disons que j'essaie de décrire mon code lors d'une réunion technique.
Tout d'abord, j'ai défini le booléen
foobar
surtrue
et
Deuxièmement, j'ai défini le booléen
foobar
surfalse
semble un peu verbeux. Si a foobar
été basculé, je pourrais probablement dire:
Troisièmement, je bascule
foobar
Par implication ici, vous savez que c'est un booléen. Je ne devrais donc pas pouvoir:
Quatrièmement, je Truthify foobar
et
Cinquièmement, je falsifie foobar
Lequel, par implication également, dira à mes auditeurs que nous avons affaire à une variable booléenne? Existe-t-il une terminologie appropriée pour cela? Merci.
terminology
boolean
Akiva
la source
la source
Réponses:
Vous pouvez également utiliser "le définir sur vrai" et "le définir sur faux" , bien sûr.
la source
Si possible, plutôt que de vous concentrer sur la valeur booléenne, vous devriez essayer de décrire ce qu'elle représente. Quelques exemples:
De cette façon, vous parleriez en termes plus naturels. Et donc lors de votre réunion, au lieu de "véritéifier foobar puis falsifier", il vous suffirait de "démarrer foobar puis de l'arrêter" (si foobar est un service, en effet).
Lorsque vous avez vraiment besoin de parler d'une valeur booléenne, vous pouvez aller avec "set / reset", ou "set to true" et "set to false". "Toggle" sonne plutôt bien dans tous les contextes.
Et si vous travaillez dans une boutique booléenne (quoi que cela puisse signifier), vous avez probablement besoin de plus de mots que ce que le dictionnaire a à offrir. Dans ce cas, la vérité et la falsification ne sont que des éléments de votre microspeak .
la source
signal = HighVoltage
ousignal = Active
est à mon humble avis beaucoup plus clair quesignal = true
.isStarted
,isActive
,isCaseSensitive
,mockConnection
, ... @PieterB: Je suis partiellement d' accord avec vous. "Définir le booléen" ne signifie pas intrinsèquement le mettre à true. Cependant, "Définir l'isActive
indicateur" peut raisonnablement être interprété comme signifiant le mettre à true.signal = true
n'est en effet pas clair, mais si vous allez l'utiliser,signal = Active
vous pourriez aussi bien l'utiliserisSignalActive = true
. Notez que cela s'applique principalement aux descripteurs qui sont clairement des compléments mutuellement exclusifs et exacts. Actif / Inactif correspond à la facture. HighVoltage ne le fait pas, car "pas de haute tension" pourrait par exemple signifier "basse tension", ou cela pourrait signifier "basse ou moyenne tension". Dans ce dernier cas, l'argument booléen ne s'applique évidemment pas. Dans le premier cas, c'est le cas.J'aime "set" / "clear", mais attention à l'ambiguïté dans votre phrasé. Comme le souligne Filip , «définir la variable booléenne» pourrait signifier écrire une valeur dans la variable. Mais "mettre le drapeau" est plus clair.
Terminologie associée: transformer un entier 0 / non nul en une valeur 0/1 est appelé "booleanizing" .
Si vous utilisez réellement la valeur 0/1 comme entier (au lieu de comme vrai / faux
bool
), vous voudrez peut-être utiliser ce mot. Sinon, cela n'apparaîtra probablement que si vous parlez du coût des opérations que le compilateur doit effectuer. (Ou si vous vectorisez manuellement avec un SIMD, comparez pour produire des bits à zéro / tout-en-un dans chaque élément vectoriel).En C et C ++, a
bool
peut implicitement se reconvertir en entier sous la forme 0 ou 1, et sur les implémentations normalesbool
est stocké comme une valeur d'un octet qui est soit 0 ou 1 (et pas n'importe quelle valeur non nulle). Le permet efficacea && b
, mais dans la pratique de nombreux compilateurs C ont manqué d'optimisations .Cette fonction se compile en plusieurs instructions (sans inclure les
ret
) sur la plupart des architectures. (MIPS étant une exception intéressante, ayant des instructions de comparaison dans le registre au lieu d'un registre d'indicateur / code de condition séparé). sur l'explorateur du compilateur Godbolt pour x86-64, MIPS et ARM thumb , nous pouvons voir que la version x86-64 est:Désolé, cet exemple de ce qu'est la booléenisation est devenu un peu grand / hors sujet!
la source
Je pense que "mis
Foobar
à vrai" et "misFoobar
à faux" sont simples et succincts. Je ne crois pas qu'il y ait des mots individuels pour ces phrases, et lorsque vous devez être à la fois technique et précis, il vaut parfois mieux être prêt à être un peu verbeux que de risquer de confondre votre public.la source
"Réglage" est la bonne façon de décrire l'acte d'assigner une valeur à une variable. Si vous vouliez devenir pédant à ce sujet, vous pourriez l'appeler "affectation", mais "set" est très répandu. En fait, c'est Java idiomatique d'écrire
setFoobar()
(etgetFoobar()
) des méthodes pour effectuer l'affectation. C # va plus loin avec les définitions de propriétésget
etset
.En ce qui concerne votre deuxième point sur l'utilisation de "vérité" et "falsification" pour "par implication, dites à mes auditeurs que nous avons affaire à une variable booléenne", vous dites déjà à vos auditeurs que la variable est booléenne lorsque vous dites:
la source
isFoobar()
Assertion ou Retract peuvent également être utilisés, le plus souvent quand on parle de propositions plutôt que des variables simples, par exemple dans Prolog. Habituellement, il existe différents termes en fonction de ce que le booléen représente, plutôt qu'un terme général pour toutes les langues ayant des valeurs booléennes (définir / effacer l'indicateur ou le bit, activer / désactiver le périphérique ou le mode, affirmer / retirer la proposition, probablement plus).
la source
Pour changer la valeur d'un booléen de
true
enfalse
, ou vice-versa, on appelle négation .Définir la valeur d'un booléen sur
false
est dit comme falsifier le booléen. Je vous comprendrais si vous disiez "vérité", cependant, cela ne semble pas juste. Je ne sais pas quel est le verbe pour faire quelque chosetrue
, donc ça pourrait être juste.J'attendrais que quelqu'un avec une meilleure réponse vienne avant de commencer à utiliser "vérité" bon gré mal gré.
la source
Un booléen est un équivalent d'un SPST (pôle unique, un jet simple) commutateur électrique: un tour elle sur ou hors .
la source
done
variable" ou "Laerror
variable est désactivée" sonnent tous les deux un peu, du moins pour moi. Les alternatives suggérées par d'autres réponses semblent plus courantes - «Définissez ladone
variable / bool / flag [sur true]» ou «Leerror
drapeau est effacé».