0

List::Genを使用して、要素を持つ配列を反復処理しようとしています:

[0,  5000, 10000, ... 20000]

しかし、次のコードではエラーが発生します

use List::Gen;

my $nsamps = range 0, 5000, 20000;

for( $nsamp ($nsamps) { 
     print $nsamp
 }

エラーは次のとおりです。

$nsamp requires explicit package ...

なんで?

4

2 に答える 2

2

宣言したことはありません$nsamp

また、迷子になり(ます。

最後に、インデントが不安定です。

修理済み:

for my $nsamp ($nsamps) { 
    print $nsamp;
}
于 2013-02-05T02:26:31.303 に答える
2

List::Genの範囲関数を使用するには、ステップ サイズを 3 番目の引数として指定します。

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;
}
于 2013-02-05T11:24:02.610 に答える