在Perl 5中,当我们有一个命名数组时,例如@a,从索引$N开始获取元素很简单,只需要一些切片:
my @result = @a[$N..$#a];
Run Code Online (Sandbox Code Playgroud)
是否有一种标准方法可以对匿名数组执行相同操作,而无需显式提供长度?也就是这样:
my @result = (0,1,2,3,4,5)[2..5];
Run Code Online (Sandbox Code Playgroud)
或者更具体地说,这个:
my @result = (0,1,2,3,4,5)[$N..5];
Run Code Online (Sandbox Code Playgroud)
转换为不需要显示上限范围的东西?也许一些模糊的Perl语法?也许有点切块而不是切片?
PS:我已经把它写成了一个函数 - 我正在寻找一种更独立的方法.
mob*_*mob 18
你可以splice:
@result = splice @{[0..$M]}, $N; # return $N .. $M
Run Code Online (Sandbox Code Playgroud)