在Java中有一个指向其方法的“this”函数。Ruby中是否有等效的功能?例如,是否有:
def method
this.method
end
def method
this.method
end
相当于 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
有一个self
,像这样:
def account_id
self.account.id
end
怎么样
self
一个例子:
self.name
self
,但我更希望你真正理解正在发生的事情。 - Mike Szyndel