アルパカDiary Pro

はてなブログProではありません

初めてのPerlを読み返す 3章 リストと配列

初めてのPerl
初めてのPerl
posted with amazlet at 09.04.05
ランダル・L. シュワルツ トム フェニックス
オライリージャパン
売り上げランキング: 34126


この記事のスタンスはこちら

3章 リストと配列*1

  • リストの最後の要素インデックスは「$#変数名」で表現できる。
    また、「$#変数名」に代入すると配列サイズを変更できる。
  • (1..100) というように範囲演算子「..」で1ずつ増加する値リストを生成できる。
  • qwショートカットでリスト要素を追加できる。また、デリミタは任意の記号を指定できる。
qw/ fred barney /    # デフォルト
qw# fred barney #    # コメントに似てる
qw[ fred barney ]
qw( fred barney )
qw{ fred barney }
  • リスト代入時、個数と値は一致しなくてもよい。
($fred, $barney) = qw/ aaa bbb ccc ddd /;   # 2つの値が捨てられる
($wilma, $dino) = qw/ eee /  # $dinoはundefになる
  • 配列のコピー
@save = @org;
  • pop=配列の最後尾から取り出す。配列が空の場合はundefを返す。
  • push=配列の最後尾に追加。
  • shift=配列の先頭から取り出す。配列が空の場合はundefを返す。
  • unshift=配列の先頭に追加。
  • printで@変数名を表示すると、自動的にスペースを挟んで変数展開される
  • foreach制御変数(以下の$my)
foreach $my (qw/ aaa bbb ccc /){
  print "foreach my is $my \n";
}
  • foreach制御変数は「リスト要素コピー」ではなく「リスト要素そのもの」
  • sort/reverse演算子でリスト要素を昇順/逆順に並べ替える。(引数そのものの値は変更されないので注意)
  • scalar関数でスカラーコンテキストを強制できる。


この他では、Perlで超重要なデフォルト変数「$_」や、スカラーコンテキストとリストコンテキストの振る舞い、リストコンテキストでを使う方法など、
覚えるべき項目が盛りだくさんですね。

*1:以下引用をいくつか含みます