在Ruby中,与Java中的"this"函数相对应的是什么?

4
在Java中有一个指向其方法的“this”函数。Ruby中是否有等效的功能?例如,是否有:
def method
  this.method
end

2
你想做什么?有一些现实生活的背景吗? - Mike Szyndel
1
你可能在寻找self,但我更希望你真正理解正在发生的事情。 - Mike Szyndel
4个回答

6

相当于 self。它也是隐含的。所以,除非你在做一个赋值操作,否则 self.first_name 就与类内的 first_name 相同。

class Book
  attr_reader :first_name, :last_name

  def full_name
     # this is the same as self.first_name + ", " + self.last_name
    first_name + ", " + last_name
  end
end

在进行赋值时,你需要明确使用 self ,因为 Ruby 没有办法知道你是在给本地变量 first_name 赋值,还是在赋值给 instance.first_name
class Book    
  def foo
    self.first_name = "Bar"
  end
end

1

有一个self,像这样:

def account_id
  self.account.id
end

1

怎么样

self

一个例子:

self.name


0
你可以在所在的类上调用self.whatever,这是你要找的吗?

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