我见过最清楚的解释class_eval 和 instance_eval

阅读更多
忘了,看一次就能回忆起来
class A
  # defs here go to A
  puts self  # => A
  class << self
     #defs here go to A's eigenclass
  end
end

A.class_eval do
  #defs here go to A
end

A.instance_eval do
  #defs here go to A's eigenclass     
end

s = "Hello World"

class << s
  #defs here go to s's eigenclass
end

你可能感兴趣的:(ruby)