What is the equivalent of PHP\'s $this->
in Ruby?
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
).
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