假设我有一个数组:
my @arr = (1,2,3,4,5);
现在我可以通过foreach循环来迭代它:
foreach ( @arr ) {
print $_;
}
但是有没有一种方法可以从第二个元素(例如)迭代到最后一个元素?
提前致谢。
这是 Perl。有许多种方法来做同一件事,比如使用数组切片:
for (@arr[1 .. $#arr]) # for and foreach are exactly the same in perl
你可以像Andy Lester建议的那样使用shift
,但这当然会改变你的原始数组。
在循环之前,只需将第一个元素移除即可。
my @arr = ( 1..5 );
shift @arr; # Remove the first element and throw it away
foreach ( @arr ) {
print "$_\n";
}
for (1..$#arr) { ... $arr[$_] ... }
иҝҷз§Қз”Ёжі•пјҲдҪҝз”ЁO(1)зҡ„еҶ…еӯҳиҖҢйқһO(N)пјүгҖӮ - ikegamifor
循环在$_
中提供当前数组索引。foreach
循环提供当前元素。 - Demnogonisperldoc perlsyn
。 - TLP