Board logo

标题: [问题求助] [已解决]请问gawk中,split函数显示的为何是乱序? [打印本页]

作者: FOR    时间: 2011-10-1 05:15     标题: [已解决]请问gawk中,split函数显示的为何是乱序?

本帖最后由 FOR 于 2011-10-4 12:38 编辑

请问gawk中,split函数显示的为何是乱序
  1. BEGIN {
  2.     var="111#222#333#444#555#666#777#888#999"
  3.     split(var,sss,"#")
  4.     for (ddd in sss) {print ddd,sss[ddd]}
  5. }
复制代码
显示如下
4 444
5 555
6 666
7 777
8 888
9 999
1 111
2 222
3 333
为何不是从1-9显示,而是4-9再是1-3,有什么规律?
作者: FOR    时间: 2011-10-1 07:18

知道鸟
  1. BEGIN {
  2.       var="111#222#333#444#555#666#777#888#999"
  3.   for (ddd=1;ddd<=split(var,sss,"#");ddd++)
  4.   print ddd,sss[ddd]
  5. }
复制代码

作者: awk    时间: 2011-10-1 12:39

不是split函数的问题。
那是hash数组,使用使用for(x in y)的方式访问数组时,是无序的。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2