摘要:
前言Ruby 元编程中,经常可以看到各种 eval 和 heredoc 的结合。其中很多用 heredoc 的位置都会出现 __FILE__ 和 __LINE__ 这两个变量。本文介绍一下它们的作用,以及为什么要这样做。正文先看一个用 class_eval 动态生成实例方法的例子:class A def self.my_attr_reader(*args) args.each do |method| class_eval <<-EOF, __FILE__, __LINE__ def #{method} raise "#{method}" end EOF end 阅读全文