免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3548 | 回复: 5
打印 上一主题 下一主题

带顺序的hash [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-11-26 22:11 |只看该作者 |倒序浏览
今天在看七天七语言的时候,看到ruby 1.9 增加了带顺序的哈希,很有兴趣,搜索了大量资料,也找不到详细的介绍。

不知道谁有这方面的应用实例。

我认为这是一个非常有用的数据类型,我现在正在学习Ruby, 这个特性是我在Perl语言中没有找到的。

论坛徽章:
3
寅虎
日期:2013-11-27 07:53:29申猴
日期:2014-09-12 09:24:152015年迎新春徽章
日期:2015-03-04 09:48:31
2 [报告]
发表于 2012-11-28 10:03 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
3 [报告]
发表于 2012-11-28 11:41 |只看该作者
指的是插入顺序吧,这个看下源代码或者自己写个类满足条件就行了,要什么资料

论坛徽章:
0
4 [报告]
发表于 2012-11-28 22:02 |只看该作者
本帖最后由 Perlvim 于 2012-11-28 22:12 编辑

通常,Hash都采用了一种特别的算法在内部对key进行排序,以便快速搜索,但还有一种赋值数序,就好像数组的赋值一样,在默认输出的时候,就使用赋值顺序进行输出。在根据DTD设计XML代码生成器,或设计一个html书写器的应用中,这种特性将大大简化数据类型和相应算法
  1. hash_order = {
  2.     key1 => 1,
  3.     key2 => 2,
  4.     key4 => 4,
  5.     key3 => 3,
  6. }

  7. puts hash_order
  8. hash_order.each |key, value|
  9.    puts "#{key} => #{value}"
  10. }
复制代码
大家可以用1.8 和 1.9 分别测试一下结果

如果感兴趣,可以用其他语言(perl)测试一下.
就明白这个新增加的特性了

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
5 [报告]
发表于 2012-12-08 15:04 |只看该作者
非常有用的数据类型

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
6 [报告]
发表于 2012-12-22 12:16 |只看该作者
很有兴趣
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP