- コピー - - 目次

インスタンス変数


インスタンス変数は`@'で始まる名前で指定される.インスタンス 変数とは`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
 nil
 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>

- コピー - - 目次