こんなコードを動かすと
class Hoge attr_accessor :val def set_val a val = a end end h = Hoge.new h.set_val 10 p h.val
結果は
nil
になる。
俺が思ってる感じだとset_valメソッド内でval=メソッドが呼ばれて@valに10が入っているだったんだけどなぁ。
set_valを以下のようにすると大丈夫
def set_val a self.val = a end
とりあえず飯の時間だから後で調べよっと。
-
-
- -
-
飯後
ローカル変数と解釈されちゃうのか。
じゃぁしゃぁないな。