2009-03-04 96 views

回答

34
@last_n = @source[-$n..-1]; 

如果你不需要undef s,则:

@last_n = ($n >= @source) ? @source : @source[-$n..-1]; 
-2
my $size = (scalar @list) - 1; 
my @newList = @list[$size-$n..$size]; 
+0

不起作用。你需要..印章,而不是逗号,$尺寸太大了一个。 – chaos 2009-03-04 18:15:26

+0

你是对的,在Groovy中有太多时间了 - 我会编辑以匹配 – 2009-03-04 18:17:08

2
@a = (a .. z); 
@last_five = @a[ $#a - 4 .. $#a ]; 
say join " ", @last_five; 

输出:

,V,W X Y Z^

1

简单,没有数学:

@a = reverse @a; 
@a = splice(@a, 0, $elements_to_keep); 
@a = reverse @a; 
相关问题