Ruby 初心者スレッド Part 29
■ このスレッドは過去ログ倉庫に格納されています
0061デフォルトの名無しさん
2009/07/05(日) 13:19:27あれはただの値を返すメソッドで、attr* はメソッド定義を肩代わりする略記に過ぎない
module AttrReader
def attr_reader(arr)
arr.each do |method_name|
eval("def #{method_name}
return @#{method_name}
end")
end
end
end
class C
include AttrReader
attr_reader([:x])
end
と
class C
attr_reader :x
end
はリクツ上おおむね同じ動作をする
attr* を使う動作上のメリットというのは何もない
メソッド定義書くのがちょっと短縮されるというだけだったりする
■ このスレッドは過去ログ倉庫に格納されています