列表小部件仅列出最后一个哈希值ruby-警告:第xx行重复的键已忽略::label 冲刺起跑
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列表小部件仅列出最后一个哈希值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: 警告:忽略
这不是正确的哈希,因为您正在重复键: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}" } ]