人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

perl案例區分圖文詳細教程之12

perl案例區分圖文詳細教程之12

更新時間:2022-08-25 文章作者:未知 信息來源:網絡 閱讀次數:

六、從數組變量復制到關聯數組

與列表一樣,也可以通過數組變量創建關聯數組,當然,其元素數目應該為偶數,如:
@fruit = ("apples",17,"bananas",9,"oranges","none");
%fruit = @fruit;
反之,可以把關聯數組賦給數組變量,如:
%fruit = ("grapes",11,"lemons",27);
@fruit = %fruit;
注意,此語句中元素次序未定義,那么數組變量@fruit可能為("grapes",11,"lemons",27)或("lemons",27,"grapes",11)。
關聯數組變量之間可以直接賦值,如:%fruit2 = %fruit1; 還可以把數組變量同時賦給一些簡單變量和一個關聯數組變量,如:
($var1, $var2, %myarray) = @list;
此語句把@list的第一個元素賦給$var1,第二個賦給$var2,其余的賦給%myarray。
最后,關聯數組可以通過返回值為列表的內嵌函數或用戶定義的子程序來創建,下例中把split()函數的返回值--一個列表--賦給一個關聯數組變量。

1: #!/usr/local/bin/perl
2:
3: $inputline = ;
4: $inputline =~ s/^s+|s+n$//g;
5: %fruit = split(/s+/, $inputline);
6: print ("Number of bananas: $fruit{"bananas"}n");

運行結果如下:

oranges 5 apples 7 bananas 11 cherries 6
Number of bananas: 11

七、元素的增刪

增加元素已經講過,可以通過給一個未出現過的元素賦值來向關聯數組中增加新元素,如$fruit{"lime"} = 1;創建下標為lime、值為1的新元素。
刪除元素的方法是用內嵌函數delete,如欲刪除上述元素,則:
delete ($fruit{"lime"});
注意:

1、一定要使用delete函數來刪除關聯數組的元素,這是唯一的方法。
2、一定不要對關聯數組使用內嵌函數push、pop、shift及splice,因為其元素位置是隨機的。

八、列出數組的索引和值

上面已經提到,keys()函數返回關聯數組下標的列表,如:

%fruit = ("apples", 9,
"bananas", 23,
"cherries", 11);
@fruitsubs = keys(%fruits);
這里,@fruitsubs被賦給apples、bananas、cherries構成的列表,再次提請注意,此列表沒有次序,若想按字母順序排列,可使用sort()函數。
@fruitindexes = sort keys(%fruits);
這樣結果為("apples","bananas","cherries")。類似的,內嵌函數values()返回關聯數組值的列表,如:

%fruit = ("apples", 9,
"bananas", 23,
"cherries", 11);
@fruitvalues = values(%fruits);
這里,@fruitvalues可能的結果為(9,23.11),次序可能不同。

九、用關聯數組循環

前面已經出現過利用keys()函數的foreach循環語句,這種循環效率比較低,因為每返回一個下標,還得再去尋找其值,如:

foreach $holder (keys(%records)){
$record = $records{$holder};
}

Perl提供一種更有效的循環方式,使用內嵌函數each(),如:

%records = ("Maris", 61, "Aaron", 755, "Young", 511);
while (($holder, $record) = each(%records)) {
# stuff goes here
}

each()函數每次返回一個雙元素的列表,其第一個元素為下標,第二個元素為相應的值,最后返回一個空列表。
注意:千萬不要在each()循環中添加或刪除元素,否則會產生不可預料的后果。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 蕲春县| 来凤县| 凭祥市| 淮阳县| 个旧市| 突泉县| 桐庐县| 宜君县| 兴海县| 台湾省| 连江县| 兴安盟| 施秉县| 宁德市| 仙居县| 南皮县| 德江县| 永城市| 阜新| 清丰县| 买车| 中方县| 林甸县| 安多县| 普兰店市| 福建省| 黄平县| 达州市| 磴口县| 颍上县| 石渠县| 佛坪县| 靖边县| 保靖县| 浦县| 平远县| 阿巴嘎旗| 化德县| 鹤庆县| 莲花县| 浮山县|