一. class_eval
(Model#class_eval) 在一个类的上下文执行块代码, 扁平化了作用域:
class Test
@aa = "test"
end
Test.class_eval do
puts @aa
end
二. 类实例变量
类实例变量的作用域是类, 方法是无法访问的
class Test
@aa = "test"
def read
@aa
end
def self.read
@aa
end
end
puts Test.read # => test
puts Test.new.read # 不会有输出的
三. 单件方法
给单个对象添加方法
class Test
end
t1 = Test.new
def t1.test_method
puts "test_method"
end
t1.test_method
只用t1对象拥有test_method这个方法
四. 类宏
......
五. 单件类
..........