博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ruby 对 Hash 按 key 进行排序
阅读量:4229 次
发布时间:2019-05-26

本文共 671 字,大约阅读时间需要 2 分钟。

当然,Ruby 中的 Hash 和集合 Set 类似,都是没有所谓顺序的,默认是按照数据插入的先后顺序来排列的。但是你肯定有过这样的需求:怎么让 Ruby 中的 Hash 按照键的顺序重新排列得到新的 Hash 呢?下面就给你展示一下吧!

[5] pry(main)> temp = {}=> {}[6] pry(main)> temp["ninjas"]=36=> 36[7] pry(main)> temp["pirates"]=12=> 12[8] pry(main)> temp["cheese"]=222=> 222[9] pry(main)> temp=> {"ninjas"=>36, "pirates"=>12, "cheese"=>222}[10] pry(main)> temp.sort_by { |key, val| key }=> [["cheese", 222], ["ninjas", 36], ["pirates", 12]][11] pry(main)> temp.sort_by { |key, val| key }.to_h=> {"cheese"=>222, "ninjas"=>36, "pirates"=>12}[12] pry(main)> temp.sort.to_h=> {"cheese"=>222, "ninjas"=>36, "pirates"=>12}

友情提示:如果你的 Hash 特别特别大,而且你对排序的需求并不是十分强烈的话,不建议这么折腾哟(资源消耗和时间浪费都会很严重)。

转载地址:http://wijqi.baihongyu.com/

你可能感兴趣的文章
strtol的用法
查看>>
工作队列的使用
查看>>
让vim显示空格,及tab字符 vim 多行注释
查看>>
利用mmc_test.c研究mmc模块
查看>>
tasklet、wait_queue、completion、work_queue用法总结
查看>>
int (*func(int)) (int *,int)
查看>>
在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel
查看>>
Linux内核同步机制API函数:宏:spin_lock_init ( )
查看>>
driver_register 理解
查看>>
copy_from_user && copy_to_user
查看>>
device_register
查看>>
Android上C++对象的自动回收机制分析
查看>>
从spin_lock到spin_lock_irqsave
查看>>
sdio 驱动
查看>>
vim 常用用法
查看>>
更好就足够了吗?| 驱动变革
查看>>
技术选型指南
查看>>
在一家技术公司做媒体
查看>>
项目管理的三个关键
查看>>
从技术雷达看DevOps十年-DevOps和持续交付
查看>>