instance_eval和class_eval
1. instance_eval这个方法的调用者必须是对象。instance_eval的执行结果会对当前对象产生效果,相当于是在对象内部执行一段代码。1.1 调用者是类实例如果是在instance_eval中定义了一个方法,那么该方法也仅属于该对象,这个方法叫做单例方法#ruby2.4.1class A def get_a @a endenda = A.newa.instance_eval do p self #=>#<A:0x983f85c> @a = 1 def get_b @b endendp a.get_a #=>1p a.get_b # »