Boolean [雑談]
最近のプログラミング言語では論理値(あるいは真理値)を表す型がサポートされている。以前は整数型で代用されることがあったけれど、つまらないバグを生むからという理由だろうか、整数型とは互換性のない(相互にキャストすることができない)型として定義されるようになってきている。
Windows の API は C 言語をベースに作られているために、そもそも論理値という考え方がない。API の呼び出し結果が成功 or 失敗を返す際、失敗なら FALSE、成功なら FALSE 以外を返すというパターンが殆どで、思いつく限り成功時に TRUE を返すというものはない。
なので
if (AnyFunction() == TRUE) { // 成功した場合の処理 }
なんて記述してしまうと面倒なことになりかねない。論理値を扱えるならこんなことはない(false でなければ true しかない)のだけれど、昔のイヤな経験がトラウマになっているのか、今ひとつしっくりこない感じがある。
※ FALSE を「ファルス」と発音するエンジニアは、それだけで信用したくない。
コメント 0