自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Perl Pop和Perl Push操作異同之處

開發(fā) 架構
本文向大家簡單介紹一下Perl Pop和Perl Push操作,。如果使用Perl Pop,Perl Push和類似的操作符以避免使用索引,那你的程序通常會比大量使用索引的情況要快。

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

Perl Pop和Perl Push操作

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

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

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

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

@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被丟棄了)
***一個例子中,pop使用在"inavoidcontext",也就是說沒有存放其返回值的地方。這樣使用pop是合法的。

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

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

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

【編輯推薦】

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

 

 

責任編輯:佚名 來源: kklinux.cn
相關推薦

2010-07-20 15:02:20

Perl數(shù)組

2010-07-19 09:16:47

Perl包

2010-07-19 13:49:17

Perl函數(shù)

2010-07-21 14:18:27

Perl函數(shù)

2010-07-19 11:12:43

Perl 不等于

2010-07-13 16:34:34

Perl 哈希表

2010-07-21 09:50:51

Perl調(diào)試

2010-07-21 13:27:06

Perl模式匹配

2010-07-19 10:01:57

Perl函數(shù)

2010-07-20 14:41:55

Perl語法

2010-07-20 16:05:07

Perl包

2010-07-19 11:00:24

Perl操作符

2010-07-14 14:30:31

Perl操作符

2010-07-20 10:02:15

Perl類

2010-07-13 11:25:42

Perl雙引號

2010-07-15 14:01:10

Perl目錄句柄

2010-07-14 14:18:51

Perl操作符

2010-07-13 09:50:55

Perl數(shù)組

2010-07-16 10:44:54

Perl數(shù)組

2010-07-13 12:50:47

Perl變量
點贊
收藏

51CTO技術棧公眾號