2013-07-17 133 views
4

在Java中,有一個指向其方法的「this」函數。 Ruby中是否有等價物?例如,有:什麼是Java中的「this」函數的Ruby等價物?

def method 
    this.method 
end 
+2

你在做什麼?一些真實的環境? –

+1

你可能正在尋找'self',但我更喜歡你是否真正瞭解發生了什麼。 –

回答

6

等效爲self。這也是隱含的。因此,self.first_name與課程中的first_name相同,除非您正在進行作業。

class Book 
    attr_reader :first_name, :last_name 

    def full_name 
    # this is the same as self.first_name + ", " + self.last_name 
    first_name + ", " + last_name 
    end 
end 

當進行分配,你需要使用self明確,因爲Ruby有沒有辦法知道,如果你正在分配稱爲first_name或分配給instance.first_name局部變量的方式。

class Book  
    def foo 
    self.first_name = "Bar" 
    end 
end 
+2

+1作業細化! – sk4l

1

self,如:

def account_id 
    self.account.id 
end 
0

你可以叫上你的班self.whatever,是你在找什麼?

1

如何

self

一個例子:

self.name

相關問題