3 Perl - 列表 - sort 操作

来源:互联网 发布:美国加州艺术学院 知乎 编辑:程序博客网 时间:2024/06/05 19:52

sort 操作
sort 操作将输入的一串列表(可能是数组)根据内部的字符顺序进行排序。如对于ASCII 字符串,将根据ASCII 序进行排
序。当然,ASCII 中有一些奇怪的地方,如大写字母在小写字符的前面,数字在字符的前面,而标点符号散布在各处。但
按ASCII 排序只是其默认的行为,在第十三章中,可以看到如何按你想要的顺序进行排序的方法:
@rocks = qw/ bedrock slate rubble granite /;
@sorted = sort(@rocks); #得到bedrock, granite, rubble, slate
@back = reverse sort @rocks; #为slate 到bedrock
@rocks = sort @rocks; #将排序的值写回@rocks
@numbers = sort 97 ..102; #得到100,101,102,97,98,99


从最后一个例子可以看到,如果将数字按照字符串进行排序可能得到没有意义的结果。当然,默认的排序规则下,任何由
1 开头的字符串先于由9 开头的字符串。和reverse 一样,其参数是不会受到影响的。如果想将某个数组排序,那必须将排
序之后的结果存回数组中:
sort @rocks; #错误,不会修改@rocks
@rocks = sort @rocks; #现在@rocks 值是经过排序的

原创粉丝点击