Ruby对应于PHP的$this。

8
在Ruby中,相当于PHP的$this->的是self.
2个回答

20

this 的 Ruby 等价物是 self,它们都指代当前实例。

麻烦的是,在 Ruby 类作用域中,self 指代定义正在构建的类的类 Class 的当前实例。在方法内部,self 指代类的实例。

例如:

class Example
  puts self  # => "Example" - 类对象的字符串表示形式
def foo puts self # #<Example:0xdeadbeef> - 实例的字符串表示形式 end end

4
< p > $this 的类比是 self ,这已经被提到过了。然而,您问的是 $this-> ,这意味着您想使用它来访问实例变量( $this->somevar )或实例方法(this->somemethod())。对于实例变量,在Ruby中的等效方式是 @(如 @somevar)。对于实例方法,等效方式就是直接写方法名(somemethod),或者如果您喜欢冗长一些,可以使用self.somemethod


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接