2012-06-03 34 views

Respuesta

18

El equivalente en rubí de this es self - ambos hacen referencia a la instancia actual.

La parte difícil es que en ámbito de clase Ruby, self refiere a la instancia actual de la clase Class que define la clase que está construyendo. Dentro de un método, self se refiere a la instancia de la clase.

por ejemplo:

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

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

El análogo de $this es self, como se ha mencionado. Sin embargo, ha preguntado acerca de $this->, lo que significa que desea usarlo para acceder a una variable de instancia ($this->somevar) o al método de instancia (this->somemethod()). Para una variable de instancia, el equivalente en Ruby sería @ (como en @somevar). Por ejemplo, los métodos, el equivalente sería simplemente escribir el nombre del método (somemethod) o, si desea ser detallado (self.somemethod).