亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl Sort函數用法總結和使用實例

2020-06-04 20:30:42
字體:
來源:轉載
供稿:網友

一) sort函數用法

sort LIST
sort BLOCK LIST
sort SUBNAME LIST

sort的用法有如上3種形式。它對LIST進行排序,并返回排序后的列表。假如忽略了SUBNAME或BLOCK,sort按標準字串比較順序來進行(例如ASCII順序)。如果指定了SUBNAME,它實際上是個子函數的名字,該子函數對比2個列表元素,并返回一個小于,等于,或大于0的整數,這依賴于元素以何種順序來sort(升序,恒等,或降序)。也可提供一個BLOCK作為匿名子函數來代替SUBNAME,效果是一樣的。

被比較的2個元素,會被臨時賦值給變量$a和$b。它們以引用傳遞,所以不要修改$a或$b。假如使用子函數,它不能是遞歸函數。

二) 用法實例

1. 以數字順序sort    
代碼如下:
@array = (8, 2, 32, 1, 4, 16);
print join(' ', sort {$a <=> $b} @array), "/n";

打印結果是:   
代碼如下:1 2 4 8 16 32

與之一樣的是:
代碼如下:sub numerically { $a <=> $b };
print join(' ', sort numerically @array), "/n";

這個很容易理解哦,它只是按自然數的順序進行sort,偶就不細講了。

2.1 以ASCII順序(非字典順序)進行sort
代碼如下:
@languages = qw(fortran lisp c c++ Perl python java);
print join(' ', sort @languages), "/n";

打印結果:
代碼如下:Perl c c++ fortran java lisp python

這等同于:
代碼如下:print join(' ', sort { $a cmp $b } @languages), "/n";

按ASCII的順序進行排序,也沒什么說的哦。

注意,如果對數字按ASCII順序進行sort的話,結果可能與你想的不同:
代碼如下:
print join(' ', sort 1 .. 11), "/n";
1 10 11 2 3 4 5 6 7 8 9

2.2 以字典順序sort
代碼如下:
use locale;
@array = qw(ASCII ascap at_large atlarge A ARP arp);
@sorted = sort { ($da = lc $a) =~ s/[/W_]+//g;
          ($db = lc $b) =~ s/[/W_]+//g;
          $da cmp $db;
          } @array;
print "@sorted/n";

打印結果是:  
代碼如下:A ARP arp ascap ASCII atlarge at_large

use locale是可選的--它讓code兼容性更好,假如原始數據包含國際字符的話。use locale影響了cmp,lt,le,ge,gt和其他一些函數的操作屬性--更多細節見perllocale的man page。

注意atlarge和at_large的順序在輸出時顛倒了,盡管它們的sort順序是一樣的(sort中間的子函數刪掉了at_large中間的下劃線)。這點會發生,是因為該示例運行在perl 5.005_02上。在perl版本5.6前,sort函數不會保護有一樣values的keys的先后順序。perl版本5.6和更高的版本,會保護這個順序。

注意哦,不管是map,grep還是sort,都要保護這個臨時變量$_(sort里是$a和$b)的值,不要去修改它

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
这里只有精品在线播放| 亚洲变态欧美另类捆绑| 欧美xxxx做受欧美.88| 中文字幕日韩电影| 日韩美女写真福利在线观看| 国产精品久久久av久久久| 亚洲精品suv精品一区二区| 欧美成人午夜激情视频| 欧美综合国产精品久久丁香| 一级做a爰片久久毛片美女图片| 亚洲国产精品字幕| 国产欧美欧洲在线观看| 韩国精品美女www爽爽爽视频| 国产一区二区视频在线观看| 亚洲欧美www| 国产欧美在线观看| 亚洲午夜精品久久久久久久久久久久| 亚洲欧美日韩国产中文| 91精品国产成人| 日韩高清免费在线| 欧美激情a∨在线视频播放| 国产精品91久久| 亚洲国产成人久久综合一区| 亚洲成人av资源网| 久久国产精品网站| 91九色国产社区在线观看| 国产精品劲爆视频| 亚洲国产97在线精品一区| 一区二区三区视频免费在线观看| 亚洲男人第一av网站| 欧美中文字幕在线播放| 欧美一级电影久久| 91精品国产综合久久香蕉最新版| 福利一区福利二区微拍刺激| 欧美大尺度激情区在线播放| 久久久久中文字幕2018| 91在线色戒在线| 自拍偷拍免费精品| 国产亚洲一区精品| 成人午夜激情网| 日本人成精品视频在线| 国产在线观看不卡| 色偷偷噜噜噜亚洲男人的天堂| 成人国产精品免费视频| 最近2019年好看中文字幕视频| 亚洲自拍偷拍区| 色综合久久88色综合天天看泰| 国产精品手机播放| 2019中文在线观看| 日本成熟性欧美| 国产精品中文字幕在线| 97视频在线观看网址| 日韩电影视频免费| 欧美视频在线视频| 欧美成人精品激情在线观看| 日韩h在线观看| 亚洲淫片在线视频| 午夜精品福利在线观看| 亚洲精美色品网站| 欧美极品少妇与黑人| 久久精品中文字幕电影| 国内精品一区二区三区| 美女国内精品自产拍在线播放| 成人福利网站在线观看11| 国产v综合ⅴ日韩v欧美大片| 日本亚洲欧洲色α| 国产成人久久久| 亚洲国产精品国自产拍av秋霞| 日韩av观看网址| 国外成人免费在线播放| 国产在线观看精品| 国产69精品99久久久久久宅男| 国产精品第一第二| 久久久久久久久爱| 欧美性xxxxxxx| 亚洲成av人乱码色午夜| 国产精品美女久久| 欧美野外猛男的大粗鳮| 国产免费一区视频观看免费| 久久人人爽亚洲精品天堂| 疯狂蹂躏欧美一区二区精品| 亚洲国产精品va在看黑人| 一区二区三区久久精品| 日韩视频永久免费观看| 久久久久久久久中文字幕| 欧美性受xxxx白人性爽| 久久久国产精品视频| 国产免费一区二区三区香蕉精| 精品国产依人香蕉在线精品| 国产精品观看在线亚洲人成网| 米奇精品一区二区三区在线观看| 国产成人精品一区二区| 97精品一区二区三区| 欧美在线xxx| 亚洲国产日韩精品在线| 欧美在线视频免费播放| 国产精品视频26uuu| 91欧美精品午夜性色福利在线| 亚洲欧美日韩视频一区| 亚洲一级免费视频| 日韩中文字幕国产| 国产+人+亚洲| 欧美国产日韩中文字幕在线| 亚洲一区二区三区xxx视频| 最近2019年日本中文免费字幕| 久久精品国产成人| 欧美美女18p| 国产欧洲精品视频| 亚洲va欧美va在线观看| 日韩综合视频在线观看| 久久露脸国产精品| 97精品国产97久久久久久免费| 日韩欧美国产一区二区| 亚洲影影院av| 欧美福利在线观看| 欧美成人中文字幕| 91精品国产99| 91免费看视频.| 国产精品日日摸夜夜添夜夜av| 国产精品av免费在线观看| 国产亚洲a∨片在线观看| 日韩大片免费观看视频播放| 成人激情电影一区二区| 久久免费福利视频| 国产欧美精品久久久| 国产精品久久久久久久午夜| 国产精品18久久久久久麻辣| 在线观看免费高清视频97| 992tv成人免费影院| 久久亚洲精品国产亚洲老地址| 久久久久久国产精品| 成人精品网站在线观看| 亚洲欧美激情在线视频| 日韩av在线免费播放| 久久99精品久久久久久琪琪| 亚洲国产一区二区三区四区| 欧美在线日韩在线| 欧美极品在线播放| 91热精品视频| 亚洲福利视频网| 国产一区二区免费| 日韩美女av在线免费观看| 欧美高清在线观看| 韩剧1988在线观看免费完整版| 久久噜噜噜精品国产亚洲综合| 国内精品视频在线| 日韩中文字幕在线看| 亚洲色图15p| 欧美极品美女电影一区| 538国产精品一区二区在线| 日韩成人性视频| 国产伊人精品在线| 国产精品 欧美在线| 日韩亚洲第一页| 91久久国产婷婷一区二区| 日韩国产高清视频在线| 日韩电影免费观看在线观看| 欧美日本精品在线| 中文国产亚洲喷潮| 色噜噜狠狠色综合网图区| 欧美激情极品视频| 成人有码在线播放| 国产剧情久久久久久| 国产自摸综合网|