2016-11-07 14 views
-1

目前我在閱讀The Ruby Programming Language,並且在很多地方提及了self,我無法理解它的確切用途。它的行爲類似於C++中的this指針,這兩者有什麼不同?(我一般不提及指針解引用或C++特定的東西),我們什麼時候在我們的ruby代碼中使用self.something紅寶石中的自我引用是什麼?

+1

'self'評估爲當前對象。每當你好奇的時候嘗試一下'p self'。 – steenslag

回答

3

self是一個變量,指向其當前代碼所在範圍的對象。在對該對象調用類方法時,您將使用self.something
舉例來說,如果你有以下方法:

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

你會通過調用Foo.bar調用bar方法。

+0

它是否像C++中的靜態方法?一個類的所有實例都有相同的方法副本? – InQusitive

+0

實例具有對其調用的實例方法,而此示例是一種類方法 –