2012-06-03 44 views
7

Tương đương với PHP của $this-> trong Ruby là gì?

Trả lời

18

Tương đương của ruby ​​là thisself - cả hai đều tham chiếu đến phiên bản hiện tại.

Phần khó khăn là trong phạm vi lớp Ruby, self là trường hợp hiện tại của lớp Class xác định lớp bạn đang xây dựng. Bên trong một phương thức, self là trường hợp của lớp.

ví dụ:

 
class Example 
    puts self # => "Example" - the stringified class object 

    def foo 
    puts self # #<Example:0xdeadbeef> - the stringified instance 
    end 
end 
3

Các analog của $thisself, như đã được đề cập. Tuy nhiên, bạn hỏi về $this->, có nghĩa là bạn muốn sử dụng nó để truy cập một biến cá thể ($this->somevar) hoặc phương thức cá thể (this->somemethod()). Đối với một biến mẫu, giá trị tương đương trong Ruby sẽ là @ (như trong @somevar). Ví dụ các phương thức, tương đương sẽ chỉ viết tên phương thức (somemethod), hoặc, nếu bạn muốn có tiết (self.somemethod).

Các vấn đề liên quan