【发布时间】:2016-01-13 02:04:09
【问题描述】:
假设我有以下简单的类:
class C
p self # => C
def self.foo
puts "foo"
end
def bar
puts "bar"
end
end
p C.foo # => "foo"
p C.bar # => "`<main>': undefined method `bar' for C:Class (NoMethodError)"
我知道self.foo 将foo 定义为C 的单例类中的实例方法。
为什么第二个方法没有像第一个一样在C 的单例类中定义?定义此方法时,self 仍然是 C。
【问题讨论】:
标签: ruby