【发布时间】:2014-08-22 13:22:40
【问题描述】:
class MyClass
def test
puts my_id
puts self.my_id
end
private
def my_id
115
end
end
m = MyClass.new
m.test
此脚本产生一个输出:
115
priv.rb:4:in `test': private method `my_id' called for #<MyClass:0x2a50b68> (NoMethodError)
from priv.rb:15:in `<main>'
使用self关键字从内部调用方法和不使用它有什么区别?
根据我的 Delphi 和 C# 经验:没有区别,self 可以用来避免与局部变量的名称冲突,表示我要调用实例函数或引用实例变量。
【问题讨论】:
标签: ruby self private-members