Arrays 如何使用foreach跳过数组中的第一个元素?
假设我有一个数组:Arrays 如何使用foreach跳过数组中的第一个元素?,arrays,perl,foreach,Arrays,Perl,Foreach,假设我有一个数组: my @arr = (1,2,3,4,5); 现在我可以通过foreach对其进行迭代: foreach ( @arr ) { print $_; } 但是有没有一种方法可以从第二个(例如)元素迭代到最后一个元素呢 提前感谢。在开始循环之前,只需关闭第一个元素 my @arr = ( 1..5 ); shift @arr; # Remove the first element and throw it away foreach ( @arr ) { pr
my @arr = (1,2,3,4,5);
现在我可以通过foreach对其进行迭代:
foreach ( @arr ) {
print $_;
}
但是有没有一种方法可以从第二个(例如)元素迭代到最后一个元素呢
提前感谢。在开始循环之前,只需关闭第一个元素
my @arr = ( 1..5 );
shift @arr; # Remove the first element and throw it away
foreach ( @arr ) {
print "$_\n";
}
这是perl。要做到这一点,总有不止一种方法。例如,数组切片:
for (@arr[1 .. $#arr]) # for and foreach are exactly the same in perl
你可以像安迪·莱斯特建议的那样使用
shift
,但是这当然会改变你原来的数组。当然,还有用于(1..$#arr){…$arr[$#]…}
(它使用O(1)内存而不是O(N)),是的,有很多方法可以做到这一点。我选择了其中一个,虽然我可以展示所有的,但不完全一样for
在$中提供当前数组索引foreach
提供当前元素。@Demnogonis:这不是真的
和foreach的代码在Perl@Borodin:该死,你说得对。我以为是这样的。。。对不起,说了些废话。