Ruby中是否有一个包实现?
是否有一个袋子集合的实现(一个像集合一样的集合,可以计算一个对象插入的次数)?
当然! 它也被称为multiset 。 这是一个很好的ruby实现。
你自己创建很简单吧?
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 #=> #1, :a=>2}>