Ruby Users' Guide - インスタンス変数

前 - コピー - 次 - 目次

### インスタンス変数

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

前 - コピー - 次 - 目次