Rubyダイナミックメソッド定義の違いについて
536 ワード
A.class_eval(<<-EOF, __FILE__, __LINE__ + 1)
def method_a
puts "calling method_a......"
end
EOF
A.class_eval <<-EOF
def method_b
puts "calling method_b......"
end
EOF
A.new.method_a
A.new.method_b
以上のように、FILE、LINE+1を使用した場合、文字列コードブロックに投げ出された異常であっても、正しいファイルの中の位置が表示され、デバッグが容易になる点が2つの方法で定義されています