关于:
class Test class << self def hi puts "Hi there" end end
我在脑海中想出了以下图片:
由于一切都是Ruby中的对象,因此类本身就是类Class的对象.通过调用类<<自我从Test内部打开类定义并注入几个实例方法.由于Test是Class的一个实例,因此可以调用这些方法,就像在对象上调用实例方法一样:Test.hi. 以下是伪代码,它有助于可视化我之前的句子:
class Class def hi puts “Hi there” end end Test = Class.new(class Test end) Test.hi
我做对了吗?