Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列表小部件仅列出最后一个哈希值ruby-警告:第xx行重复的键已忽略::label 冲刺起跑_Ruby - Fatal编程技术网

列表小部件仅列出最后一个哈希值ruby-警告:第xx行重复的键已忽略::label 冲刺起跑

列表小部件仅列出最后一个哈希值ruby-警告:第xx行重复的键已忽略::label 冲刺起跑,ruby,Ruby,sweet\u dashboard\u project/jobs/list.rb:47:警告:重复的键位于 第47行被忽略::label sweet\u dashboard\u project/jobs/list.rb:47: 警告:忽略第47行的重复键::值 sweet\u dashboard\u project/jobs/list.rb:47:警告:重复的键位于 第47行被忽略::label sweet\u dashboard\u project/jobs/list.rb:47: 警告:忽略

sweet\u dashboard\u project/jobs/list.rb:47:警告:重复的键位于 第47行被忽略::label sweet\u dashboard\u project/jobs/list.rb:47: 警告:忽略第47行的重复键::值 sweet\u dashboard\u project/jobs/list.rb:47:警告:重复的键位于 第47行被忽略::label sweet\u dashboard\u project/jobs/list.rb:47: 警告:忽略第47行的重复键::值 sweet\u dashboard\u project/jobs/list.rb:47:警告:重复的键位于 第47行被忽略::label sweet\u dashboard\u project/jobs/list.rb:47: 警告:忽略第47行的重复键::值

它只打印最后一个哈希标签和值。同样出现在 在仪表板中列出小部件。你能告诉我怎么做吗 带其他标签和值吗

List.rb
这不是正确的哈希,因为您正在重复键:label和:value

您需要将其重新组织为一个小散列数组,而不是一个大散列数组

po = [ { :label=> "a", :value=> "#{po1}"}, {:label=> "b", :value=> "#{po2}"}, {:label=> "c", :value=> "#{po3}"}, {:label=> "d", :value=> "#{po4}" } ]

请在第17行显示您的代码,尤其是sweet_dashboard_project/jobs/list.rb。并告诉我们您想做什么。@spickermann:谢谢spickermann的帮助。请查找代码。谢谢突出显示。请看我对Gerry的评论。我正在寻找如何维护键名称标签和存储在其上的不同值的值。提前感谢。感谢您的快速帮助。如果您想保留具有不同值的键名称,可以使用数组,例如标签:['a','b','c',值:[{po1},{po2},{po3}]但这会产生顺序依赖关系,第二个条目n:label与seocnd条目in:value相对应,也会使读取集合变得困难。我建议我贴出的答案是更好的方法。但基本上,在Ruby哈希中,不能有两个不同的:label=>条目。。。在执行my_hash[:label]时,无法知道要检索哪一个,因此遇到的最后一个总是替换上一个。
    require "mysql2"

    SCHEDULER.every '5s' do

client = Mysql2::Client.new(:host => "10.2.2.1",:username => "abcuser",:database => 'testdb')

po1 = nil  

po2 = nil

po3 = nil

po4 = nil

p1=client.query("SELECT count(*) as p1 FROM testdb.tab1 WHERE (p='1')")

p2=client.query("SELECT count(*) as p2 FROM testdb.tab1 WHERE (p='2')")

p3=client.query("SELECT count(*) as p3 FROM testdb.tab1 WHERE (p='3')")

p4=client.query("SELECT count(*) as p4 FROM testdb.tab1 WHERE (p='4')")

p1.each do |i|
    puts i  # Prints {"a"=>1}
    puts i['p1'] #Prints 1
    po1 = i['p1']
    end

p2.each do |i|
        puts i # Prints {"b"=>2}
        puts i['p2'] # Prints 2
        po2 = i['p2'] 
        end

p3.each do |i|
        puts i # Prints {"c"=>1}
        puts i['p3'] # Prints 1
        po3 = i['p3'] 
        end

p4.each do |i|
        #puts i # Prints {"d"=>1}
        #puts i['p4'] # Prints 2
        po4 = i['p4'] 
        end

po = [ { :label=> "a", :value=> "#{po1}", :label=> "b", :value=> "#{po2}", :label=> "c", :value=> "#{po3}", :label=> "d", :value=> "#{po4}" } ]

    send_event('priority', { items: po })   
    end
po = [ { :label=> "a", :value=> "#{po1}", :label=> "b", :value=> "#{po2}", :label=> "c", :value=> "#{po3}", :label=> "d", :value=> "#{po4}" } ]
po = [ { :label=> "a", :value=> "#{po1}"}, {:label=> "b", :value=> "#{po2}"}, {:label=> "c", :value=> "#{po3}"}, {:label=> "d", :value=> "#{po4}" } ]