From: matz / zetabits.com (Yukihiro Matsumoto)
Subject: [ruby-ext:01248] Re: representing binary state in plain Ruby object
Date: Thu, 07 Sep 2000 17:07:15 +0900

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

とりあえず、変更頻度が高いもの順に FL_USER[0-7]を使って、他のは
instance variableを使ってやってみます。

ところで、

#define FL_SINGLETON FL_USER0

となっているんですが、FL_USER0 を使っても平気ですか?
--
            yashi