寻找一个有趣的 Ruby 观察的解释。考虑在 Comparable 模块中混合如下:
class Class0
end
class Class1
include Comparable
end
class Class2
extend Comparable
end
如果我们寻找 Class2 与 Class0 中的方法,
Class2.methods.each { |x| p x if not Class0.methods.include? x }
我们得到只是:之间?
但是,如果我们这样做,要寻找 Class1 和 Class0 实例之间的差异,
a = Class0.new
b = Class1.new
b.methods.each { |x| p x if not a.methods.include? x }
我们得到
[:>, :>=, :<, :<=, :between?]
我想了解为什么结果不同。我本来希望“扩展”将相同的方法推送到“包含”推送到实例中的类中。像“:>”这样的东西不是和“:between”一样的方法吗???