Perlの謎(その6):foreach文がfor文に
結論から言うと、Perlでは、for文とforeach文は同じ物なのです。
というか、for文のforは、foreachの省略形とのことです(ホントかな)。
と同じとはいいながら、for文とforeach文ではイメージが違います。
- for文は、インデックスで回すイメージ
- foreach文は、データ構造の各要素に対して各々回すイメージ
◆for文の基本
for (my $i = 1; $i < 10; $i++) { 処理 }
◆foreach文の基本
foreach my $scalar (@array) { 処理 }
◆for文とforeach文の可換
冒頭で述べたように、for文とforeach文は同じで可換なのです。
foreach (my $i = 1; $i < 10; $i++) { 処理 } for my $scalar (@array) { 処理 }
で結論は、イメージを重んじる人はイメージ通りに、簡素にしたい人はfor文オンリーに、たぶん、foreach文オンリーは無しでしょう・・・たぶん。