一. 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这个方法
四. 类宏
......
五. 单件类
..........
本文介绍了Ruby语言中的一些高级特性,包括如何使用class_eval来执行代码块并访问类实例变量,类实例变量的作用范围及如何正确访问,以及如何为单个对象定义单件方法。此外还探讨了类宏和单件类的概念。
1549

被折叠的 条评论
为什么被折叠?



