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 时,即使是字符串代码块中抛出的异常,也会显示正确的文件中位置,有利于你调试
Ruby方法定义技巧
本文介绍了在Ruby编程语言中定义方法的两种不同方式及其对异常跟踪的影响。通过使用带有FILE和LINE参数的方法定义,可以更准确地定位代码中的错误位置,从而提高调试效率。
135

被折叠的 条评论
为什么被折叠?



