以下のRubyコードを理解しようとしています。initialize()のハッシュ引数でself.sendを繰り返し呼び出す
attrs
は、空のハッシュの既定値で引数として渡されるハッシュです。
次に、attrs.each
は、ハッシュ(|k,v|
)のキーと値のペアを反復処理します。
この反復中にキー値のペアの要素に対してself.send
を呼び出すと、どのような効果が得られますか?
def initialize(attrs = {}, *args)
super(*args)
attrs.each do |k,v|
self.send "#{k}=", v
end
end
1に相当します
オブジェクトの作成/初期化。私の答え@ http://stackoverflow.com/questions/1778638/idiomatic-object-creation-in-ruby/5272354#5272354 – abe