PERL語言入門:第三章:列表與數組:pop,push, shit, unshit, splice函數

#!/usr/bin/perl -l
#列表賦值時,記得加括號
#左邊比右邊多, 多出來的會被賦於undef
#右邊比左邊折, 多出來的會被忽略

@array = 2..9;
pop @array or pop (@array)//如果加不加括號不影響的話,perl中可以不加
push @array
pop出從尾部彈出, push爲從尾部放入

shit/unshit
shit @array or unshit @array
shit爲從首部彈出, unshit爲從首部放入, 對應pop與push

如果要從中間操作呢, 用splice
第一個參數爲要操作的數組
第二個參數爲要操作的開始位置
第三個參數爲要操作的長度,如果只給出前兩個, 默認會從指定位置一直到數組尾部
第四個參數是替換數組中的元素

splice @array,2 //從第二個元素開始刪除元素,一直到數組尾部
splice @array, 2, 3 //刪除第二個元素到第三個
splice @array, 2, 8, qw(test)//把2到8中的元素去掉並把test插入其中


#!/usr/bin/perl -w
#定義一個數組
@array = 2..9;
print "@array\n";
#拿掉一部分
splice @array, 2,4;
print 'splice @array, 2, 4:', "\n";
print "@array\n";
#.........................
@array = 2..9;
print "@array\n";
#拿掉一部分
splice @array, 2;
print 'splice @array, 2:', "\n";
print "@array\n";
#.........................
@array = 2..9;
print "@array\n";
#拿掉一部分
#超出數組長度試試
splice @array, 2, 100;
print 'splice @array, 2:', "\n";
print "@array\n";
#長度太大會自動到數組尾
#.........................
@array = 2..9;
print "@array\n";
#拿掉一部分
#超出長度試試
splice @array, 100 ;
print 'splice @array, 100:', "\n";
print "@array\n";
#超出長度不會操作
#.........................
@array = 2..9;
print "@array\n";
#拿掉一部分
#向後試試
splice @array, 5, -7 ;
print 'splice @array, 5, -7:', "\n";
print "@array\n";
#負數索引在這裏不起作用

#........................
@array=1..10;
print "@array";
splice @array, 1, 1, qw(this is a test);
print q/splice @array, 1, 1, qw(this is a test):/, "\n";
print "@array\n";


發佈了32 篇原創文章 · 獲贊 7 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章