too*_*lic 33
perldoc -f map是一种方式:
use warnings;
use strict;
use Data::Dumper;
my @ns = map { 5 * $_ } 1 .. 4;
print Dumper(\@ns);
__END__
$VAR1 = [
5,
10,
15,
20
];
Run Code Online (Sandbox Code Playgroud)
Eug*_*ash 26
Perl中的范围运算符不支持步骤.您可以使用for
循环代替:
for (my $i = 5; $i <= 20; $i += 5) {
print "$i\n";
}
Run Code Online (Sandbox Code Playgroud)
Zai*_*aid 22
该功能执行此操作:List::Gen
range
use strict;
use warnings;
use feature 'say';
use List::Gen;
my $range = range 5, 20, 5;
say for @$range; # 5
# 10
# 15
# 20
say while <$range>; # TIMT1WTDI
$range->say; # TAMT2WTDI, v.0.974
say $range->str; # TAMT3WTDI, v.0.974
my $by_fives = <5 .. 20 by 5>;
say while <$by_fives>; #TAMT4WTDI
<5 .. * by 5>->say( 4 ); #TAMT5WTDI
Run Code Online (Sandbox Code Playgroud)
不如工具
use warnings;
use strict;
my @ns;
for my $n (1..4) {
push(@ns, $n*5);
}
Run Code Online (Sandbox Code Playgroud)