What is the equivalent of PHP's $this->
in Ruby?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
The ruby equivalent of this
is self
- they both refer to the current instance.
The tricky part is that in Ruby class scope, self
refers to the current instance of the class Class
that defines the class you are building. Inside a method, self
refers to the instance of the class.
eg:
class Example puts self # => "Example" - the stringified class object def foo puts self # #<Example:0xdeadbeef> - the stringified instance end end
回答2:
The analog of $this
is self
, as has been mentioned. However, you asked about $this->
, which means you want to use it to access an instance variable ($this->somevar
) or instance method (this->somemethod()
). For an instance variable, the equivalent in Ruby would be @
(as in @somevar
). For instance methods, the equivalent would be to just write the method name (somemethod
), or, if you like to be verbose (self.somemethod
).