Perl散列表能否按指定顺序排列?

x86 2005-10-18 10:56:03
按照书上说(实际上也是这样),perl的散列表的每一项的顺序并不是可期望的,而是由散列内部的存储结构决定。
可是如果一定要按顺序又怎样?而且顺序最好是按代码中的顺序,而不是用sort出来的顺序。

有没有什么解决方式?
...全文
131 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Yujlyjl 2005-10-19
先将主键排列
my $keys = sort {$a<=>$b} keys($hash);
fornext $key into $keys
{
......
}
  • 打赏
  • 举报
回复
zgxbliss 2005-10-19
hash本身就是无序的,如果一定要按加入顺序遍历的话,可以改用数组,这样能解决顺序遍历的问题,但是检查某个键是否存在就不如hash方便了.再不然就在使用hash的基础上再用一个数组保存hash中的键.这样就能达到要求了.
  • 打赏
  • 举报
回复
发帖
脚本语言

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
加入社区
帖子事件
创建了帖子
2005-10-18 10:56