class Test class << self attr_accessor :some def set_some puts self.inspect some = 'some_data' end def get_some puts self.inspect some end end end Test.set_some => Test puts Test.get_some.inspect => Test nil
在上面我可以找到self作为Test本身但不返回some_data作为输出.
class Test class << self attr_accessor :some def set_some puts self.inspect self.some = 'some_data' end def get_some puts self.inspect self.some end end end Test.set_some => Test puts Test.get_some.inspect => Test some_data
有什么区别?
编辑
Test.some = 'new_data' puts Test.some.inspect #=> new_data Test.set_some puts Test.get_some.inspect => new_data
现在它让我更加困惑.