Akihiro's Programmer Blog

Technology Notes for Personal

「初めてのPerl」 第三章 - 1

第三章から。



第三章 リストと配列

用語集

リスト スカラー値を順序付けて並べたもの。
配列 リストを格納する変数。同義で扱われることがあるが、リスト≠配列である。
デリミタ 複数要素を列挙する際に用いられる区切り文字。よく正規表現で用いられる。




Point


  • 配列の宣言とアクセス。
@array;       #配列は@シジル

$array[0]     #indexを指定して配列要素にアクセスする

$array[-1]    #-1を指定すると末尾の要素にアクセスできる


("a", "b", "c")

(1..100)                 #1から100まで1ずつ増加するリスト

qw( a b c )              #要素はシングルクォート文字列として扱われる

@array = qw/ a b c /;    #配列への代入 デリミタは任意記号文字でもOK


@array = ( 1..100 );

pop( @array );          #100が出力され、@arrayは1~99になる

push ( @array, 100);    #配列の末尾に100が追加され、@arrayが元に戻る


@array = ( 1..100 );

shift( @array );        #1が出力され、@arrayは2~100になる

unshift( @array, 1);    #配列の先頭に1が追加され、@arrayが元に戻る


#指定indexから末尾までの要素を抜き出す
@array = ( 1..6 );
splice( @array, 4 );
#配列の4番目以降(4~6)が出力され、@arrayは(1,2,3)になる

#指定indexから指定の長さまでの要素を抜き出す
@array = ( 1..6 );
splice( @array, 4, 2 );
#配列の4番目から長さ2まで(4,5)が出力され、@arrayは(1,2,3,6)になる

#指定indexから指定の長さまでの要素を抜き出し、置き換える
@array = ( 1..6 );
splice( @array, 4, 2, 7 );
#配列の4番目から長さ2まで(4,5)が出力され、@arrayは(1,2,3,7,6)になる


  • 配列の変数展開。
@array = ( "a", "b", "c" );
"@array"    #"a b c"とスペース区切りで展開される




次回は

次回は第三章の続きから。