attr_accessorを自分で定義する。
メタプログラミングRubyを再読している。
- 作者: Paolo Perrotta,角征典
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2010/08/28
- メディア: 大型本
- 購入: 18人 クリック: 533回
- この商品を含むブログ (112件) を見る
P154らへんのクラスマクロの辺りを読んでいる。
attr_accessorを自分で書いてみる。
動くものね。。
class C attr_accessor :my_att #単なるクラス・メソッド # アクセッサーを手動定義 def att=(value) @att = value end def att @att || nil end # 俺俺 attr_accessor 多分こんな感じ def self.my_attr_accessor sym define_method "#{sym}=" do |value| @symbol = value end define_method "#{sym}" do @symbol || nil end end my_attr_accessor :hoge end o = C.new o.att = 1 o.att # => 1 o.my_att = 10 o.my_att # => 10 o.hoge = 10 o.hoge # => 10