#ruby #rubygems #require
#ruby #rubygems #требуется
Вопрос:
Я пытаюсь использовать PriorityQueue изhttps://github.com/ldonnet/priority_queue на ruby, после его установки с gem install priority_queue
, у меня возникает ошибка :
./example.rb:5:in `<main>': undefined method `push' for #<PriorityQueue:0x000000015ca200 @queues={}> (NoMethodError)
При попытке запустить пример README.md файл :
#!/usr/bin/ruby
require 'priority_queue'
q = PriorityQueue.new
q.push "node1", 0
q.push "node2", 1
q.min #=> "node1"
q.decrease_priority("node2", -1)
q.pop_min #=> "node2"
q.min #=> "node1"
версия ruby : ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
Спасибо
Комментарии:
1. Если вы только что сделали
gem install priority_queue
, то вы получаете это репозиторий: github.com/ninjudd/priority_queue у которого нетpush
метода.
Ответ №1:
Камень, который вы связали, является (ответвлением) PriorityQueue
камня, а не priority_queue
драгоценного камня. Вам нужно gem install PriorityQueue
.
Я понимаю, что репозиторий, на который вы ссылаетесь, говорит gem install priority_queue
в readme, но, похоже, это неверно. priority_queue
Драгоценный камень из другого репозитория.