まつもと ゆきひろです

普通の言語ではインスタンス変数ってクラス定義の一部なんですが,
良く考えてみるとRubyにインスタンス変数の宣言とかないですよね.

そもそもクラス定義の中にインスタンスの構造を定義する場所がな
いぞ,と気がついたあなたは結構鋭いです.そうです,Rubyではイ
ンスタンス変数は他の変数と同様に使われることによって定義され
るのです.ということは,同じクラスのインスタンスでも持ってい
るインスタンス変数が違う(=構造が違う)ことがありえるんですね.

   class Foo
     def foo
       @foo = 25
     end
     def bar
       @bar = 25
     end
   end

   foo1 = Foo.new
   foo1.foo
   p foo1.instance_variables
   p foo1
   foo2 = Foo.new
   foo2.bar
   p foo2.instance_variables
   p foo2

ちょっと意外ですか? > 西さん ^^;;;

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