Perlvim 发表于 2012-11-26 22:11

带顺序的hash

今天在看七天七语言的时候,看到ruby 1.9 增加了带顺序的哈希,很有兴趣,搜索了大量资料,也找不到详细的介绍。

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

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

Sevk 发表于 2012-11-28 10:03

zhlong8 发表于 2012-11-28 11:41

指的是插入顺序吧,这个看下源代码或者自己写个类满足条件就行了,要什么资料

Perlvim 发表于 2012-11-28 22:02

本帖最后由 Perlvim 于 2012-11-28 22:12 编辑

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

puts hash_order
hash_order.each |key, value|
   puts "#{key} => #{value}"
}大家可以用1.8 和 1.9 分别测试一下结果

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

pitonas 发表于 2012-12-08 15:04

非常有用的数据类型

rubyish 发表于 2012-12-22 12:16

很有兴趣:oo
页: [1]
查看完整版本: 带顺序的hash