gpt4 book ai didi

raku - 数组索引是否需要是 native 整数?

转载 作者:行者123 更新时间:2023-12-03 14:07:38 25 4
gpt4 key购买 nike

我正在尝试获取数组的 umptieth 元素:

my @lazy-array = lazy 1, 11, 121 ... 10**100;
say @lazy-array[10**50];

这产生
Cannot unbox 167 bit wide bigint into native integer

如果我将它分配给一个变量,同样的问题。此 does not seem to be reflected in the documentation ,并想知道这是一个功能还是一个错误。另外,访问这些位置的正确方法是什么(迭代除外)

最佳答案

在基于 NQP 的 Raku 当前实现中,数组索引最多为 63 位(至少在 64 位构建中)。

use nqp;
my $l := nqp::list;
dd nqp::atpos($l,0x7fff_ffff_ffff_ffff); # Mu
dd nqp::atpos($l,0x7fff_ffff_ffff_ffff + 1);
# Cannot unbox 64 bit wide bigint into native integer

我不会将其视为功能或错误,而是当前实现的限制。

请注意,您可以使用 Array::Sparse如果你想使用更大的索引。

关于raku - 数组索引是否需要是 native 整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61031107/

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