カウンタ変数を使ったforループについて
同じ要素数を持った2つのリストを順々に処理したいときなどに使う、カウンタ変数付きのforループ。今までこんな感じで書いていました。
my @list1 = 1..100; my @list2 = 101..200; for (my $i = 0; $i < scalar @list1; $i++) { say "$list1[$i] + 100 => $list2[$i]"; }
でも、下記みたいな形でも書けちゃうみたいですね。
考えてみればそりゃできるよなって感じです。
my @list1 = 1..100; my @list2 = 101..200; say "$list1[$_] + 100 => $list2[$_]" for (0 .. $#list1);
下の方がPythonの for i in range(100): みたいな書き方っぽくてわかりやすいかもしれません。Pythonよくわかりませんが。