Ruby 按键按降序对哈希进行排序
我有以下散列:Ruby 按键按降序对哈希进行排序,ruby,sorting,hash,Ruby,Sorting,Hash,我有以下散列: {"2013-08-12"=> 10, "2013-08-13"=> 20, "2013-11-11"=>30, "2013-11-14"=> 40} 我要做的是按键(格式为yyyy mm dd的日期)按降序排序: {"2013-11-14"=> 40, "2013-11-11"=>30, "2013-08-13"=> 20, "2013-08-12"=> 10} 这可能吗?可能 Hash[ {"2013-08-12"=
{"2013-08-12"=> 10, "2013-08-13"=> 20, "2013-11-11"=>30, "2013-11-14"=> 40}
我要做的是按键(格式为yyyy mm dd的日期)按降序排序:
{"2013-11-14"=> 40, "2013-11-11"=>30, "2013-08-13"=> 20, "2013-08-12"=> 10}
这可能吗?可能
Hash[
{"2013-08-12"=> 10, "2013-08-13"=> 20, "2013-11-11"=>30, "2013-11-14"=> 40}
.sort_by{|k, _| k}.reverse
]
# => {
"2013-11-14" => 40,
"2013-11-11" => 30,
"2013-08-13" => 20,
"2013-08-12" => 10
}
这是可能的
Hash[
{"2013-08-12"=> 10, "2013-08-13"=> 20, "2013-11-11"=>30, "2013-11-14"=> 40}
.sort_by{|k, _| k}.reverse
]
# => {
"2013-11-14" => 40,
"2013-11-11" => 30,
"2013-08-13" => 20,
"2013-08-12" => 10
}
这是可能的
Hash[
{"2013-08-12"=> 10, "2013-08-13"=> 20, "2013-11-11"=>30, "2013-11-14"=> 40}
.sort_by{|k, _| k}.reverse
]
# => {
"2013-11-14" => 40,
"2013-11-11" => 30,
"2013-08-13" => 20,
"2013-08-12" => 10
}
这是可能的
Hash[
{"2013-08-12"=> 10, "2013-08-13"=> 20, "2013-11-11"=>30, "2013-11-14"=> 40}
.sort_by{|k, _| k}.reverse
]
# => {
"2013-11-14" => 40,
"2013-11-11" => 30,
"2013-08-13" => 20,
"2013-08-12" => 10
}
值得注意的是,它仅在Ruby 1.9.x或更高版本中可用。以前的版本没有保留
散列
键序列。我认为您不需要注意这一点。Ruby 1.8.7在很久以前就过时了。即使是Ruby 1.9也已经过时了。对我来说,随着我使用Ruby 2.1,甚至Ruby 2.0也变得越来越老了。更重要的是,这个问题在Ruby 1.8中是没有意义的。谢谢你,saws,它就像一个符咒。Marek,感谢您注意到这一点,这种方法适合我,因为我使用1.9.3过时-是的。不再使用-遗憾的是没有。特别是在大型组织和遗留项目中,不幸的是,1.8.x仍然有效。值得注意的是,它仅在Ruby 1.9.x或更高版本中可用。以前的版本没有保留散列
键序列。我认为您不需要注意这一点。Ruby 1.8.7在很久以前就过时了。即使是Ruby 1.9也已经过时了。对我来说,随着我使用Ruby 2.1,甚至Ruby 2.0也变得越来越老了。更重要的是,这个问题在Ruby 1.8中是没有意义的。谢谢你,saws,它就像一个符咒。Marek,感谢您注意到这一点,这种方法适合我,因为我使用1.9.3过时-是的。不再使用-遗憾的是没有。特别是在大型组织和遗留项目中,不幸的是,1.8.x仍然有效。值得注意的是,它仅在Ruby 1.9.x或更高版本中可用。以前的版本没有保留散列
键序列。我认为您不需要注意这一点。Ruby 1.8.7在很久以前就过时了。即使是Ruby 1.9也已经过时了。对我来说,随着我使用Ruby 2.1,甚至Ruby 2.0也变得越来越老了。更重要的是,这个问题在Ruby 1.8中是没有意义的。谢谢你,saws,它就像一个符咒。Marek,感谢您注意到这一点,这种方法适合我,因为我使用1.9.3过时-是的。不再使用-遗憾的是没有。特别是在大型组织和遗留项目中,不幸的是,1.8.x仍然有效。值得注意的是,它仅在Ruby 1.9.x或更高版本中可用。以前的版本没有保留散列
键序列。我认为您不需要注意这一点。Ruby 1.8.7在很久以前就过时了。即使是Ruby 1.9也已经过时了。对我来说,随着我使用Ruby 2.1,甚至Ruby 2.0也变得越来越老了。更重要的是,这个问题在Ruby 1.8中是没有意义的。谢谢你,saws,它就像一个符咒。Marek,感谢您注意到这一点,这种方法适合我,因为我使用1.9.3过时-是的。不再使用-遗憾的是没有。特别是在大型组织和遗留项目中,不幸的是,1.8.x仍然存在。