Tương đương với PHP của $this->
trong Ruby là gì?
7
A
Trả lời
18
Tương đương của ruby là this
là self
- 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 $this
là self
, 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
).