我已经实现了可比较和可枚举,以便我可以使用比较并包括:
给定下面的简单类:
class Card
include Comparable
include Enumerable
attr_accessor :value
def initialize(v)
@value = v
end
def <=>(other)
@value <=> other.value
end
def each
yield @value
end
end
然后:
c = Card.new(1) #so right now we have @value at 1
这些包括方法都不起作用:
[1,3,4,5].include?(c)
c.include?([1,3,4,5])
是否有可能使用 include 方法来做到这一点?我知道我可以用另一种方式来做,但我想“像红宝石一样”做!(假设这甚至是类似 ruby 的方式......)我刚刚从 java 和 c++ 进入 ruby
提前致谢!