まつもと ゆきひろ@トヨタケーラムです.

チュートリアルの続きです.まだしばらく続きます.
--
インスタンス変数

インスタンス変数は`@'で始まる名前で指定される.インスタンス
変数とは`self'で参照されるオブジェクトに固有の変数である.同
じ種類のオブジェクトでも,異なるオブジェクトであればインスタ
ンス変数の値はそれぞれ異なる.オブジェクトの外側からは直接イ
ンスタンス変数の値を見たり,変えたりできないので,そうするた
めにはなんらかのメソッドを経由する必要がある.初期化されてい
ないインスタンス変数の値は`nil'である.

rubyのインスタンス変数は宣言が要らない.これはオブジェクトが
柔軟な構造を持っていることを意味している.実際,rubyのインス
タンス変数は動的に増える.

 ruby> class InstTest
 ruby|   def foo(n)
 ruby|     @foo = n
 ruby|   end
 ruby|   def bar(n)
 ruby|     @bar = n
 ruby|   end
 ruby| end
 InstTest
 ruby> i = InstTest.new
 #<InstTest:0x83678>
 ruby> i.foo(2)
 2
 ruby> i
 #<InstTest: @foo=2>
 ruby> i.bar(4)
 4
 ruby> i
 #<InstTest: @foo=2, @bar=4>