Java中"this"函数的Ruby等价物是什么?

Lin*_*ino 4 ruby ruby-on-rails

在Java中,有一个"this"函数指向它的方法.Ruby中有相应的东西吗?例如,有:

def method
  this.method
end
Run Code Online (Sandbox Code Playgroud)

Moh*_*mad 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
Run Code Online (Sandbox Code Playgroud)

在进行赋值时,您需要self显式使用,因为Ruby无法知道您是否正在分配一个被调用first_name或赋值的局部变量instance.first_name.

class Book    
  def foo
    self.first_name = "Bar"
  end
end
Run Code Online (Sandbox Code Playgroud)

  • +1作为任务详细说明! (2认同)