perl/foreach文
#! usr/bin/perl use strict; use warnings; my @array1=qw(koma goma kuma guma KOMA 45 666 11); my @array2=qw(58 5334 111 11 98 342); #公式=>foreach my 変数 (リスト){処理内容} foreach (@array1){ print "$_\n"; } print "\n"; foreach (sort(@array1)){ print "$_\n"; } print "\n"; foreach (reverse(sort(@array1))){ print "$_\n"; } print "\n"; =head #リストに文字列が入っていると、sort{$a<=>$b}(リスト)は使えない foreach (sort{$a<=>$b}(@array1)){ print "$_\n"; } =cut foreach (@array2){ print "$_\n"; } print "\n"; foreach (sort(@array2)){ print "$_\n"; } print "\n"; foreach (sort{$a<=>$b}(@array2)){ print "$_\n"; }
リストと配列の違いについて。
リスト/「,」で区切ったものを()で囲んだもの。 | 配列/@array | |
---|---|---|
概念 | 要素を並べたもの | 要素を並べた変数 |
直接書き換えれるか | できない | できる |
例 | sort関数/リストの要素を書き換えるのではなく、要素を並べた別のリストを新しく作る。 | shift関数/引数に与えられた配列を直接書き換える。引数の配列は、与えられたときの要素を失う。 |
以下のコマンドで関数を調べると、引数にリストがくるのか配列がくるのか分かります。
perldocs -f 関数名