gpt4 book ai didi

arrays - 如何在Perl 6中缩短数组?

转载 作者:行者123 更新时间:2023-12-04 05:02:32 25 4
gpt4 key购买 nike

如何在Perl 6中切断数组或数组引用?

在Perl 5中,我可以这样做:

my $d = [0 .. 9];
$#$d = 4;

在Perl 6中,如果尝试以下操作,则会收到错误消息:
my $d = [0 .. 9];
$d.end = 4; # Cannot modify an immutable Int

这可以工作,但是它看起来不如Perl 5美观,并且可能很昂贵:
 $d.=splice(0, 5);

最佳答案

有一个简单的方法:

my $d = [0..9];

$d[5..*] :delete;

如果数组是一个无限的数组,那将是一个问题。
$d.splice(5)也有同样的问题。

在一般情况下,最好的选择可能是 $d = [ $d[^5] ],在这种情况下,您可能对数组一无所知,并且需要一个可变数组。

如果您不需要它是可变的 $d = $d[^5],则返回一个List可能会更好。

关于arrays - 如何在Perl 6中缩短数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34857856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com