Lin*_*ino 4 ruby ruby-on-rails
在Java中,有一个"this"函数指向它的方法.Ruby中有相应的东西吗?例如,有:
def method
this.method
end
Run Code Online (Sandbox Code Playgroud)
相当于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)