まつもと ゆきひろです

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を使うって方法はあるけど、実行コスト的には別々のイ
ンスタンス変数を使うのと大差ない気がします。

                                まつもと ゆきひろ /:|)