我正在尝试使用List::Gen遍历包含元素的数组:
[0, 5000, 10000, ... 20000]
但是下面的代码给出了一个错误
use List::Gen;
my $nsamps = range 0, 5000, 20000;
for( $nsamp ($nsamps) {
print $nsamp
}
错误是:
$nsamp requires explicit package ...
为什么?
要使用List::Gen
's range 函数,步长作为第三个参数提供:
use strict;
use warnings;
use feature 'say';
use List::Gen;
my $nsamp = range 0, 20_000, 5_000 ;
say for @$nsamp; # 0
# 5000
# 10000
# 15000
# 20000
# Or, for a faster equivalent
while ( my ( $num ) = $nsamp->() ) {
say $num;
}
你从来没有声明过$nsamp
。
还有,有一个流浪(
。
最后,你的缩进很不稳定。
固定的:
for my $nsamp ($nsamps) {
print $nsamp;
}