Есть ли реализация коллекции мешков (коллекция, подобная набору, в которой указано количество раз, когда объект вставлен)?Есть ли реализация сумки в Ruby?
ответ
Обязательно! Он также называется multiset. Вот nice ruby implementation.
В документации говорится о запуске скрипта как пользователя root. Есть ли в нем пакет ubuntu? –
не то, что я знаю ... похоже, что вам нужно будет получить источник с этой стороны и построить его на своем конце. –
Является ли это настолько старым, что он заранее даёт рубигемы? –
Довольно просто создать самостоятельно, не так ли?
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}>
Вероятно, не так быстро, как один реализован в C. –
@AndrewGrimm Вероятно, не заметно медленнее, учитывая, что это очень легкая прокладка поверх Hash, которая реализована на C. – Phrogz
Я ищу что-то, что по возможности стандартно. Я бы предпочел, чтобы основная библиотека была драгоценным камнем и драгоценным камнем для кодирования, который даже не является драгоценным камнем. –