■63519 / ) |
Re[9]: Brushesのカラーコードを変数に出来ませんか? |
□投稿者/ 魔界の仮面弁士 (48回)-(2012/09/04(Tue) 11:13:00)
|
■No63518 (shu さん) に返信 > 違うことのように感じるかもしれませんが > 私の言いたいことはこういうことです。
言いたいことは分かります。
一方で、自分の認識だと、ビットフラグは On/Off を表すために使われるので、 マスク結果を Boolean として扱うこともあるだろう、程度の認識です。
もちろん、Bitwise 演算結果を整数データとして扱った上で、それを 0 より大きいか、0 以外の値か、として比較する考え方も分かります。
# 数が多ければ BitArray や BitVector32 なども使えますが、 # 今回のケースでは冗長ですね。
現在の私は、<> 0 (あるいは、None 相当の列挙値との比較)を多用しますが、 だからといって、CBool 表現、>0 での比較、HasFlag 利用のいずれも、 他者のコードに修正を求めるほどの表現であるとまでは感じていません。
> 場合はBooleanとみなすのは分かりにくいと思います。 shu さんがそう思っている、という点は分かるのですが、どういう時に CBool を使うものと考えておられるかが読み取れませんでした。なので、
>> CBoolはBoolean型への変換を行う関数であって > 何を Boolean 型に変換する事を目的としているのでしょう。
この質問に対する答えもお聞きしたいです。
現時点で改めて私の疑問点を言えば、どちらかといえば CBool の意義についてなので。
> CBoolで変換するときに互換性のために0をFalseに変換し > それ以外をTrueに変換はしていますが > Integer And Integer の値はIntegerであってBooleanではないので > このような意味が分かりにくい変換をすべきではないと思います。
「互換性のために」という文からは、以前は使われていたけれども 現在は推奨されない変換処理であるという意図を感じるのですが、だとすると どういう時に CBool は使われるべきでしょうか。(あるいは、CBool 自体を 将来的には廃止するべきだ、という思いがあるのでしょうか)
# 元質問からズレてきているので、スレッドを分けた方が良いのかも。
|
|