Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 on rails 如何按值降序排序哈希并在ruby中输出哈希?_Ruby On Rails_Ruby_Sorting_Hash - Fatal编程技术网

Ruby on rails 如何按值降序排序哈希并在ruby中输出哈希?

Ruby on rails 如何按值降序排序哈希并在ruby中输出哈希?,ruby-on-rails,ruby,sorting,hash,Ruby On Rails,Ruby,Sorting,Hash,钥匙呢 output.sort_by {|k, v| v}.reverse 现在我有这两个。但我尝试按值降序对哈希进行排序,以便它返回 h = {"a"=>1, "c"=>3, "b"=>2, "d"=>4} => {"a"=>1, "c"=>3, "b"=>2, "d"=>4} Hash[h.sort] 提前谢谢 编辑: 让我把全部代码都贴出来 => {"d"=>4, "c"=>3, "b"=>2, "a"=&

钥匙呢

output.sort_by {|k, v| v}.reverse
现在我有这两个。但我尝试按值降序对哈希进行排序,以便它返回

h = {"a"=>1, "c"=>3, "b"=>2, "d"=>4}
=> {"a"=>1, "c"=>3, "b"=>2, "d"=>4}

Hash[h.sort]
提前谢谢

编辑: 让我把全部代码都贴出来

=> {"d"=>4, "c"=>3, "b"=>2, "a"=>1 }
尝试:

这应该会返回您想要的内容

编辑:

要按价值来做:

Hash[h.sort.reverse]
试试这个:

Hash[h.sort_by{|k, v| v}.reverse]

但这是关键思想,我正在尝试对价值进行排序嗯……我想也是这样。我怎么会不到星期天或星期二就看到这是星期六的第一个月。。所有的键和值都粘在了irb中,对我来说非常好。你使用的不是这个测试哈希吗?不是。。。好吧,如果这是排序的方法。然后可能是其他原因导致它输出了错误的散列。我再检查一遍。无论如何,谢谢你。“为什么我不在星期天或星期二就看到1是星期天或星期六1是第一个月1”,你使用的是什么版本的Ruby?记住,哈希在Ruby 1.9之前没有顺序
Hash[h.sort_by{|k, v| v}.reverse]
Hash[h.sort_by{ |_, v| -v }]