这不是 Rails 特有的 - 我只是使用 Rails 作为示例。
我在 Rails 中有一个模型:
class Item < ActiveRecord::Base
def hello
puts "Hello, #{self.name}"
end
end
(我们假设Item
模型(类)有一个方法称为name
.) 我什么时候需要使用self.name
我什么时候可以使用name
(e.g., #{name}
)?
这是惯用语prefer省略self.
调用方法时;通常不需要它。
-
You must use self.foo = xxx
当调用 setter 方法时,而不是foo = xxx
,以便 Ruby 意识到您并不是在尝试创建新的局部变量。
- 同样,万一您有一个现有的局部变量
do_something
与方法同名,必须使用self.do_something
调用该方法,就像do_something
最终将读取该变量。
You cannot use self.foo(...)
调用私有方法;你必须只打电话foo(...)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)