什么是红宝石的自我参考?

时间:2016-11-07 23:04:33

标签: ruby

目前我正在阅读The Ruby Programming Language并且在许多地方提到self,我无法理解它的确切用途。它的行为是否类似于C ++中的this指针。这两者有什么区别?(我一般不会询问指针解引用或任何特定于C ++的东西)我们什么时候使用self.something我们的红宝石代码?

1 个答案:

答案 0 :(得分:3)

self是一个变量,指向当前代码所在范围内的对象。在该对象上调用类方法时,可以使用self.something
例如,如果您有以下方法:

class Foo
    def self.bar 
       puts "Class method!"
    end 
end   

您可以通过调用bar来调用Foo.bar方法。