我在 CodeSchool 教程中遇到了以下代码:
class MethodLogger
def log_method((klass,method_name)
klass.class_eval do
alias_method "#{method_name}_original" method_name
define_method method_name do
puts "#{Time.now}: Called #{method_name}"
send "#{method_name}_original"
end
end
end
end
我如何知道这段代码中“发送”方法的接收者是什么?这里,教程说“klass”代表的类是“send”方法的接收者。如果是这样的代码:
class Klass
end
k = Klass.new
k.send :hello,
很明显 k 是 send 的接收者,而 main 是 sender 。但是在第一个代码示例中,我怎样才能推断出接收者?