【问题标题】:Ruby undefined method while using PriorityQueue使用 PriorityQueue 时的 Ruby 未定义方法
【发布时间】:2017-03-01 17:20:17
【问题描述】:

我正在尝试在 ruby​​ 上使用来自 https://github.com/ldonnet/priority_queue 的 priorityQueue,在使用 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 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

谢谢

【问题讨论】:

标签: ruby rubygems require


【解决方案1】:

您链接的 gem 是 PriorityQueue gem(的一个分支),而不是 priority_queue gem。你需要gem install PriorityQueue

我知道您链接到的存储库 gem install priority_queue 在自述文件中,但是,这似乎不正确。 priority_queue gem 来自 a different repository

【讨论】:

    猜你喜欢
    • 2019-12-25
    • 2010-10-15
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2016-10-29
    • 2019-02-13
    相关资源
    最近更新 更多