创建后如何在 Perl6 中更改数组的大小?

How do I change the size of an array in Perl6 after creation?

在 perl6 中,我可以这样创建一个固定大小的数组: 我的@array[5];

我以后如何才能将数组的大小更改为更大,例如我现在希望数组的大小为 7

谢谢

您不能更改已存在的形状数组的形状。


要执行类似操作,您可以将位置变量绑定到新数组。

my @array[5];
@array := my @[7];

我认为规范测试中没有切换声明的形状数组的测试(我认为也不应该有)


一个可能更安全的方法是声明没有形状的数组并立即将其绑定到具有起始形状的数组;

my @array := my @[5];
@array := my @[7];

我说这更安全的原因是,编译器可能 会进行一些优化,假设它始终具有声明的形状。

@array[*-1] => @array[4]

@array[6] => Failure.new(…) # ( or even a compile-time error )