比較を使用して含めることができるように、比較可能で列挙可能なものを実装しました。
以下の単純なクラスを考えると:
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
ただし、これらの include メソッドはどちらも機能しません。
[1,3,4,5].include?(c)
c.include?([1,3,4,5])
これを行うために include メソッドを使用することはまったく可能ですか? 別の方法でできることはわかっていますが、「ルビーのように」やりたいです。(これがルビーのような方法でさえあると仮定して...)私はJavaとC ++からルビーに入っています
前もって感謝します!