まつもと ゆきひろです
In message "[ruby-ext:01246] representing binary state in plain Ruby object"
on 00/09/07, Yasushi Shoji <yashi / yashi.com> writes:
|I'd like an object to have binary states (each state is either true of
|false).
もし、そのクラスが組み込みクラスからの継承を使っておらず(た
とえばObjectやDataのサブクラスならOK)、また状態が8つ以下でし
たら、FL_USER0からFL_USER7までのフラグを使うのはどうでしょう。
FL_SET(obj, flag)
FL_UNSET(obj, flag)
FL_TEST(obj, flag)
が使えます。
あ、状態数は20でしたね。そうするとwrapperもインスタンス変数
も使わない方法ってのは思い付かないなあ。インスタンス変数ひと
つにFixnumを使うって方法はあるけど、実行コスト的には別々のイ
ンスタンス変数を使うのと大差ない気がします。
まつもと ゆきひろ /:|)