a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

Perl列表和數(shù)組變量的概念

2020-02-23 19:47:57
字體:
供稿:網(wǎng)友

一、列表
??列表是包含在括號里的一序列的值,可以為任何數(shù)值,也可為空,如:(1,?5.3?,?"hello"?,?2),空列表:()。
??注:只含有一個數(shù)值的列表(如:(43.2)?)與該數(shù)值本身(即:43.2?)是不同的,但它們可以互相轉(zhuǎn)化或賦值。
??列表例:
????(17,?$var,?"a?string")
????(17,?26? ????(17,?$var1?+?$var2)
????($value,?"The?answer?is?$value")
二、數(shù)組--列表的存貯?
??列表存貯于數(shù)組變量中,與簡單變量不同,數(shù)組變量以字符"@"打頭,如:
????@array?=?(1,?2,?3);
??注:
?(1)數(shù)組變量創(chuàng)建時初始值為空列表:()。
?(2)因?yàn)镻ERL用@和$來區(qū)分?jǐn)?shù)組變量和簡單變量,所以同一個名字可以同時用于數(shù)組變量和簡單變量,如:
????$var?=?1;
????@var?=?(11,?27.1?,?"a?string");
??但這樣很容易混淆,故不推薦。
1、數(shù)組的存取?
??.對數(shù)組中的值通過下標(biāo)存取,第一個元素下標(biāo)為0。試圖訪問不存在的數(shù)組元素,則結(jié)果為NULL,但如果給超出數(shù)組大小的元素賦值,則數(shù)組自動增長,原來沒有的元素值為NULL。如:
????@array?=?(1,?2,?3,?4);
????$scalar?=?$array[0];
????$array[3]?=?5;?#?now?@array?is?(1,2,3,5)
????$scalar?=?$array[4];?#?now?$scalar?=?null;
????$array[6]?=?17;?#?now?@array?is?(1,2,3,5,"","",17)
??.數(shù)組間拷貝
????@result?=?@original;?
??.用數(shù)組給列表賦值
????@list1?=?(2,?3,?4);
????@list2?=?(1,?@list1,?5);?#?@list2?=?(1,?2,?3,?4,?5)
??.數(shù)組對簡單變量的賦值
????(1)?@array?=?(5,?7,?11);
????($var1,?$var2)?=?@array;?#?$var1?=?5,?$var2?=?7,?11被忽略
????(2)?@array?=?(5,?7);
????($var1,?$var2,?$var3)?=?@array;?#?$var1?=?5,?$var2?=?7,?$var3?=""?(null)
??.從標(biāo)準(zhǔn)輸入(STDIN)給變量賦值
????$var?=?;
????@array?=?;?#?^D為結(jié)束輸入的符號
2?、字符串中的方括號和變量替換?
????"$var[0]"?為數(shù)組@var的第一個元素。
????"$var/[0]"?將字符"["轉(zhuǎn)義,等價于"$var".?"[0]",$var被變量替換,[0]保持不變。
????"${var}[0]"?亦等價于"$var"?."[0]"。
????"$/{var}"則取消了大括號的變量替換功能,包含文字:${var}.
3、列表范圍:?
????(1..10)?=?(1,?2,?3,?4,?5,?6,?7,?8,?9,?10)
????(2,?5..7,?11)?=?(2,?5,?6,?7,?11)
????(3..3)?=?(3)
??.用于實(shí)數(shù)
????(2.1..5.3)?=?(2.1,?3.1?,4.1,?5.1)
????(4.5..1.6)?=?()
??.用于字符串
????("aaa".."aad")?=?("aaa","aab",?"aac",?"aad")
????@day_of_month?=?("01".."31")
??.可包含變量或表達(dá)式
????($var1..$var2+5)
??.小技巧:
????$fred?=?"Fred";
????print?(("Hello,?"?.?$fred?.?"!/n")?x?2);?
??其結(jié)果為:
????Hello,?Fred!
????Hello,?Fred!?
4、數(shù)組的輸出:?
(1)?@array?=?(1,?2,?3);
????print?(@array,?"/n");
??結(jié)果為:
????123
(2)?@array?=?(1,?2,?3);
????print?("@array/n");
??結(jié)果為:
????1?2?3
5、列表/數(shù)組的長度?
??當(dāng)數(shù)組變量出現(xiàn)在預(yù)期簡單變量出現(xiàn)的地方,則PERL解釋器取其長度。
????@array?=?(1,?2,?3);
????$scalar?=?@array;?#?$scalar?=?3,即@array的長度
????($scalar)?=?@array;?#?$scalar?=?1,即@array第一個元素的值
??注:以數(shù)組的長度為循環(huán)次數(shù)可如下編程:
????$count?=?1;
????while?($count? ????print?("element?$count:?$array[$count-1]/n");
????$count++;
????}
6、子數(shù)組?
????@array?=?(1,?2,?3,?4,?5);
????@subarray?=?@array[0,1];?#?@subarray?=?(1,?2)
????@subarray2?=?@array[1..3];?#?@subarray2?=?(2,3,4)
????@array[0,1]?=?("string",?46);?#?@array?=("string",46,3,4,5)?now?
????@array[0..3]?=?(11,?22,?33,?44);?#?@array?=?(11,22,33,44,5)?now
????@array[1,2,3]?=?@array[3,2,4];?#?@array?=?(11,44,33,5,5)?now
????@array[0..2]?=?@array[3,4];?#?@array?=?(5,5,"",5,5)?now
??可以用子數(shù)組形式來交換元素:
????@array[1,2]?=?@array[2,1];
7、有關(guān)數(shù)組的庫函數(shù)?
(1)sort--按字符順序排序
????@array?=?("this",?"is",?"a","test");
????@array2?=?sort(@array);?#?@array2?=?("a","is",?"test",?"this")
????@array?=?(70,?100,?8);
????@array?=?sort(@array);?#?@array?=?(100,?70,?8)?now
(?2)reverse--反轉(zhuǎn)數(shù)組
????@array2?=?reverse(@array);
????@array2?=?reverse?sort?(@array);
(3)chop--數(shù)組去尾
????chop的意義是去掉STDIN(鍵盤)輸入字符串時最后一個字符--換行符。而如果它作用到數(shù)組上,則將數(shù)組中每一個元素都做如此處理。
????@list?=?("rabbit",?"12345","quartz");
????chop?(@list);?#?@list?=?("rabbi",?"1234","quart")?now
(?4)join/split--連接/拆分
????join的第一個參數(shù)是連接所用的中間字符,其余則為待連接的字符數(shù)組。
????$string?=?join("?",?"this",?"is","a",?"string");?#?結(jié)果為"this?is?a?string"
????@list?=?("words","and");
????$string?=?join("::",?@list,?"colons");?#結(jié)果為"words::and::colons"
????@array?=?split(/::/,$string);?#?@array?=?("words","and",?"colons")?now

以上就是關(guān)于Perl數(shù)組變量和列表的概念,感謝大家的閱讀,更多內(nèi)容請關(guān)注武林技術(shù)頻道網(wǎng)站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 国产成人福利在线观看 | 亚州av一区二区 | 日韩在线视频第一页 | 欧美日韩成人在线视频 | 黄网站色大毛片 | 国产98色在线 | 日韩 | 成人日韩 | 四虎成人精品永久免费av九九 | 精品国产乱码久久久久久闺蜜 | 日韩一区二区三区在线视频 | 欧美日韩卡一卡二 | 国产精品亚洲一区二区三区在线 | 欧美亚洲一区二区三区 | 国内精品一区二区 | 日本www在线 | 国产精品久久一区二区三区 | 日韩免费在线观看视频 | 污视频网站在线免费 | 久久这里只有精品首页 | 亚洲黄色毛片 | 999精品视频 | 久草福利视频 | 黄色国产 | 国产精品一码二码三码在线 | 高清av一区 | 日本成年人免费网站 | 极品久久| 国产 高清 在线 | 在线观看亚洲一区二区 | 综合久久网 | 操人网 | 日本三级电影天堂 | 国产伦在线 | 黑色丝袜脚足j国产在线看68 | 日本成人在线看 | 成人涩涩网站 | 久久久久久久久久久久久女国产乱 | 欧美高清一区 | 在线视频 91 | 日韩中文字幕 | 亚洲三级视频 |