这并不是针对Rails的,我只是以Rails为例.
我有一个Rails模型:
class Item < ActiveRecord::Base
def hello
puts "Hello, #{self.name}"
end
end
(假设Item
模型(类)有一个名为name
的方法.)我什么时候需要使用self.name
,什么时候可以只使用name
(例如#{name}
)?
这并不是针对Rails的,我只是以Rails为例.
我有一个Rails模型:
class Item < ActiveRecord::Base
def hello
puts "Hello, #{self.name}"
end
end
(假设Item
模型(类)有一个名为name
的方法.)我什么时候需要使用self.name
,什么时候可以只使用name
(例如#{name}
)?
prefer在调用方法时省略self.
是习惯用法;它通常是不需要的.
在调用setter方法时使用self.foo = xxx
,而不是foo = xxx
,这样Ruby就意识到您并没有试图创建一个新的局部变量.
使用self.foo(...)
调用私有方法;你只能打foo(...)
.