日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Perl Pop和Perl Push操作異同之處

本文和大家重點(diǎn)討論一下Perl Pop和Perl Push操作,可以使用新的,更大的索引(index)將新值存放在數(shù)組的末尾。但實(shí)際上,Perl程序員不使用索引,因此,在下面幾段中,我們將介紹幾種不使用索引來(lái)操作數(shù)組的方法。

Perl Pop和Perl Push操作

可以使用新的,更大的索引(index)將新值存放在數(shù)組的末尾。但實(shí)際上,Perl程序員不使用索引,因此,在下面幾段中,我們將介紹幾種不使用索引來(lái)操作數(shù)組的方法。

當(dāng)然,我們是在開玩笑,但這個(gè)玩笑基于Perl的一些事實(shí)。數(shù)組中使用索引并沒有發(fā)揮Perl的威力。如果使用Perl Pop,Perl Push和類似的操作符以避免使用索引,那你的程序通常會(huì)比大量使用索引的情況要快,而且能避免"差一位(off-by-one)"類型的錯(cuò)誤,這類錯(cuò)誤通常叫做"邊界值錯(cuò)誤"。有時(shí),一個(gè)初級(jí)的Perl程序員(想比較Perl和C的速度)將針對(duì)C優(yōu)化過的排序程序(有大量的索引操作),用Perl來(lái)直接實(shí)現(xiàn)(從而有大量的索引操作),驚訝于它為什么如此慢。答案是,"用小提琴來(lái)訂釘子不是一個(gè)好辦法"。

通常將數(shù)組類似于棧來(lái)使用,在其右邊添加或者刪除數(shù)據(jù)。(這是數(shù)組中"***"一個(gè)元素,其索引***)。這些操作經(jīng)常出現(xiàn),因此提供了特殊的函數(shù)。

◆pop操作將數(shù)組的***一個(gè)元素取出并返回:

@array=5..9;
$fred=pop(@array);#$fred得到9,@array現(xiàn)在為(5,6,7,8)
$barney=pop@array;#$barneygets8,@array現(xiàn)在為(5,6,7)
pop@array;#@array現(xiàn)在為(5,6)(7被丟棄了)
***一個(gè)例子中,pop使用在"inavoidcontext",也就是說(shuō)沒有存放其返回值的地方。這樣使用pop是合法的。

如果數(shù)組為空,那pop什么也不做(因?yàn)闆]有元素可以移出),并返回undef。

你可能已注意到pop后可以使用或者不使用括號(hào)。這在Perl中是一條通用規(guī)則:如果去掉括號(hào)含義不變,那括號(hào)就是可選的。和pop相反的操作是Perl_Push,它可以將一個(gè)元素(或者一列元素)加在數(shù)組的末尾:
◆受過相應(yīng)教育的人將發(fā)現(xiàn),這是同義反復(fù)。
Perl Push(@array,0);#@array現(xiàn)在為(5,6,0)
Perl Push@array,8;#@array現(xiàn)在為(5,6,0,8)
Perl Push@array,1..10;#@array現(xiàn)在多了10個(gè)元素
@others=qw/90210/;
Perl Push@array,@others;#@array現(xiàn)在又多了5個(gè)元素(共有19個(gè))
Perl Push的***個(gè)參數(shù)或者pop的唯一參數(shù)必須是數(shù)組變量。

出自:http://www.kklinux.com/html/biancheng/Perl/200901/26-2834.html

【編輯推薦】

  1. 實(shí)例解析Perl substr函數(shù)應(yīng)用
  2. Perl模式匹配參數(shù)使用詳解
  3. Windows下Perl開發(fā)環(huán)境的安裝和配置
  4. 學(xué)習(xí)筆記 Perl split函數(shù)用法指導(dǎo)
  5. Perl多進(jìn)程及其和多線程的關(guān)系解析

新聞名稱:Perl Pop和Perl Push操作異同之處
標(biāo)題路徑:http://www.5511xx.com/article/dpgdepj.html