技術会議で自分のコードを説明しようとしているとしましょう。
まず、ブール値
foobar
をtrue
に設定します
そして
次に、ブール値
foobar
をfalse
に設定します
少し冗長に見えます。 foobar
が切り替えられた場合、おそらく、
第三に、私はtoggle
foobar
ここでの含意を通じて、そのブール値を知っています。だから私はできないはずです:
第四に、私はTruthify foobar
そして
5番目、私Falsify foobar
また、暗黙のうちに、ブール変数を扱っていることをリスナーに伝えますか?これには適切な用語がありますか?ありがとう。
もちろん"trueに設定"および"falseに設定"を使用することもできます。
可能であれば、ブール値に焦点を合わせるのではなく、それが何を表すかを説明するようにしてください。いくつかの例:
これにより、より自然な言葉で話すことができます。したがって、会議では、「foobarを真実化し、それを改ざんする」のではなく、単に「foobarを起動して、それを停止する」(foobarが実際にサービスである場合)。
ブール値について話す必要がある場合は、「set/reset」、または「set to true」と「set to false」を使用できます。 「トグル」は、すべてのコンテキストで非常にいい音です。
そして、もしあなたが(それが何を意味するにせよ)ブール商店で働いているなら、あなたはおそらく辞書が提供するものよりも多くの単語を必要とするでしょう。その場合、trueifyとfalsifyは単に microspeak の一部です。
私は「設定」/「クリア」が好きですが、表現のあいまいさに注意してください。 Filipが指摘 のように、「ブール値変数を設定する」は、変数に値を書き込むことを意味すると解釈できます。しかし、「フラグを立てる」ことはより明確です。
関連用語:0 /非ゼロの整数を0/1の値に変換することは "booleanizing"と呼ばれます。
(true/false bool
の代わりに)実際に0/1の値を整数として使用する場合は、そのWordを使用できます。それ以外の場合は、コンパイラーが実行する必要のある操作のコストについて話している場合にのみ表示されます。 (または、SIMD比較を使用して手動でベクトル化して、各ベクトル要素にすべて0または1のビットを生成する場合)。
CおよびC++では、bool
は暗黙的に0または1として整数に変換でき、通常の実装ではbool
は0または1の1バイト値として格納されます(ゼロ以外の値のみ)。効率的なa && b
、しかし 実際には、多くのCコンパイラは最適化に失敗しています 。
bool booleanize(int a) { return a; } // C++
その関数は、ほとんどのアーキテクチャーで複数の命令(ret
を含まない)にコンパイルされます。 (MIPSは興味深い例外であり、個別のフラグ/条件コードレジスタの代わりにレジスタへの比較命令を持っています)。 x86-64、MIPS、およびARM thumb 用のGodboltコンパイラエクスプローラでは、x86-64バージョンは次のようになります。
test edi, edi # set flags according to a & a
setne al
ret # return value in AL, the low byte of RAX
申し訳ありませんが、このブール化の例は少し大きく/トピック外です!
「Foobar
をtrueに設定」と「Foobar
をfalseに設定」は簡単で簡潔だと思います。私はそれらのフレーズに個別の単語があるとは信じていません。技術的かつ正確である必要がある場合、聴衆を混乱させるリスクを負うよりも、少し言葉を多用する方がよい場合があります。