Ruby中的PHP $this->
相当于什么?
答案 0 :(得分:18)
this
的红宝石等价物是self
- 它们都是指当前的实例。
棘手的部分是,在Ruby类范围中,self
引用了类Class
的当前实例,它定义了您正在构建的类。在方法内部,self
指的是类的实例。
例如:
class Example puts self # => "Example" - the stringified class object def foo puts self # #<Example:0xdeadbeef> - the stringified instance end end
答案 1 :(得分:3)
正如已经提到的,$this
的类似物是self
。但是,您询问了$this->
,这意味着您希望使用它来访问实例变量($this->somevar
)或实例方法(this->somemethod()
)。对于实例变量,Ruby中的等效项为@
(如@somevar
中所示)。对于实例方法,等价的只是编写方法名称(somemethod
),或者,如果您想要详细(self.somemethod
)。