willnetの日記

 | 

2009-09-13

変数の取得、設定をするメソッド

17:25 | 変数の取得、設定をするメソッド - willnetの日記 を含むブックマーク はてなブックマーク - 変数の取得、設定をするメソッド - willnetの日記

これも名前の通り

o.instance_variable_set(:@x, 0)
o.instance_variable_get(:@x)
o.instance_variable_defined?(:@x)
Object.class_variable_set(:@@x, 1) # ruby1.8だとprivate
Object.class_variable_get(:@@x) # ruby1.8だとprivate
Object.class_variable_defined?(:@@x) # ruby1.9以降
Object.const_set(:HOGE, "hoge")
Object.const_get(:HOGE)
Object.const_defined?(:HOGE)

class_variable_set, class_variable_getはruby1.8だとprivateなので

Object.class_eval do 
  class_variable_get(:@@x)
end

のような感じで使う。

ローカル変数やグローバル変数用のメソッドはないのでevalで代用する。

 |