いてづきブログ

情シスでやってみたことの備忘録

attr_accesorとpublic_send

classのattrに対して下記のようなpublic_sendで値を設定できるらしい。


public_send("#{attribute_name}=", val)



ということは、obj.hoge=の`hoge=`はメソッドなのか?と思って呟いていたら、attr_*はhoge フィールドとhoge= メソッドを定義するものだと教えてもらえた。(ありがたや〜)
だからpublic_sendで呼び出せるというわけ。


リファレンスにもバッチリ書いてある。
ref.xaio.jp


なるほど〜。