バッグ コレクション (オブジェクトが挿入された回数をカウントするセットのようなコレクション) の実装はありますか?
1387 次
2 に答える
8
もちろん!マルチセットとも呼ばれます。これは素敵なルビーの実装です。
于 2010-12-04T03:41:49.267 に答える
6
自分で作成するのはとても簡単ですよね?
class Bag
def initialize
@h = Hash.new{ 0 }
end
def <<(o)
@h[o] += 1
end
def [](o)
@h[o]
end
end
bag = Bag.new
bag << :a
bag << :b
bag << :a
p bag[:a], bag[:b], bag[:c], bag
#=> 2
#=> 1
#=> 0
#=> #<Bag:0x100138890 @h={:b=>1, :a=>2}>
于 2010-12-04T14:55:22.647 に答える