毎日メモ

http://daiiz.hatenablog.com/ のサブブログ。TwitterとBlogの中間。

今日知ったこと

Rubyインスタンス変数に値をセットするsetterの書き方がなんか驚いた感じだった。

class Hoge
    def w=(w)
        @w = w
    end

    def w()
        @w
    end
end

というふうにクラスを定義して、下のようにインスタンスを一個生成して、

h = Hoge.new()

こんなふうに値をセットしたり取得したりできる。

h.w=100
h.w = 300

puts h.w() 

最後のputsでは300が表示されるので、インスタンスメソッドw=を定義しただけで、空白を入れたw =バージョンも書けるらしい。 驚いた。