8

私はこのような配列を宣言することが可能であることを知っています:

my @array = ( 5 .. 10 );

これは次と同等です:

my @array = ( 5, 6, 7, 8, 9, 10 );

しかし、増分値が1より大きい場合、同様の省略形があります。

my @array = ( 5, 10, 15, 20, 25 );
my @array = ( 100, 200, 300, 400, 500 );
4

3 に答える 3

22
my @array = map 5*$_, 1..5;

my @array = map 100*$_, 1..5;
于 2012-05-22T00:44:11.263 に答える
4

より一般的に:

my $start = 5;
my $stop = 25;
my $increment = 5;
my @array = map $start+$increment*$_, 0..($stop-$start)/$increment;

また:

chomp(my @array = `seq $start $increment $stop`);

(冗談だ。)

于 2012-05-22T06:38:51.193 に答える
2

Damian Conway のList::Makerも使用できます。

use List::Maker;
my @list = <0..100 x 5>;
于 2012-05-28T09:15:05.427 に答える