| 網路管理語言 Perl 入門與實作: | ||
|---|---|---|
| <<< Previous | 4. Perl 的資料型態 | Next >>> |
串列是小括號()內,由一串純量組成(0 個元素以上),彼此以逗點分開。比如:
(1, 2, 3, 4) 這是有 4 個數值元素的串列
("John", 5, 6, "ijk", 7) 這是 5 個元素,字串及數值純量混合的串列。
若元素是連續的,可以使用 "範圍算符" .. 來表示區間。
(1..1000) 表示 1 到 1000 所組成的串列。
(5..10)
(5.1..10.7) 同上,它會把小數去掉。
(1, 3, 5..8, 9, 10) 同 (1, 3, 5, 6, 7, 8, 9, 10)
("Mmm", "NNN", "Jjj", "Kkk", "Xxx")
串列也可以是空的:
() 空串列
變動形的串列:
$l=10;
$t=20;
($l, $t) 此串列的大小由 $l, $t 決定
|
像 ("Mmm", "NNN", "Jjj", "Kkk", "Xxx") 這種串列要鍵入那麼多雙引號,挺累人的,您也可以用 qw 算符來簡化它(別忘了 Perl 是懶惰程式設計師的最愛):
("Mmm", "NNN", "Jjj", "Kkk", "Xxx")
同於
qw( Mmm NNN Jjj Kkk Xxx )
|
換言之,qw 是將串列元素加上引號(quoted words,因此簡稱為 qw),並且以空白分隔。除此之外,您也不一定要用小括號,您可用任何符號做為起始及結束符號:
qw/ Mmm NNN Jjj Kkk Xxx /
qw! Mmm NNN Jjj Kkk Xxx !
qw# Mmm NNN Jjj Kkk Xxx #
qw{ Mmm NNN Jjj Kkk Xxx }
qw< Mmm NNN Jjj Kkk Xxx >
qw[ Mmm NNN Jjj Kkk Xxx ]
以上均同於:("Mmm", "NNN", "Jjj", "Kkk", "Xxx") |
串列可用來快速交換變數內容,不需要中間暫存變數:
傳統交換變數內容之作法如下: # 把 $a 先放入 暫存變數 $tmp 中 $tmp = $a; # 把 $b 放入 $a 中 $a = $b; # 把 $a 值放入 $b 中 $b = $tmp; 但使用串列,就不必再用中間暫存變數了! 如下所示: # 以下將 $a、$b 兩變數內容交換 ($a, $b) = ($b, $a); # 以下將 $b 給 $a,$c 給 $b,$a 給 $c,形成輪動的效果 ($a, $b, $c) = ($b, $c, $a); |
| <<< Previous | Home | Next >>> |
| 4.2 陣列 | Up | 4.2.2 產生陣列 |