4

在 Java 中有一个“this”函数指向它的方法。Ruby中是否有等价物?比如有没有:

def method
  this.method
end
4

4 回答 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
于 2013-07-17T20:03:25.783 回答
1

self,比如:

def account_id
  self.account.id
end
于 2013-07-17T19:57:00.767 回答
1

怎么样

self

一个例子:

self.name

于 2013-07-17T19:58:00.790 回答
0

你可以打电话给 self.whatever 你在哪个班级,那是你要找的吗?

于 2013-07-17T19:57:16.407 回答