在perl6中我可以创建一个固定大小的数组,如下所示:my @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 )