gpt4 book ai didi

raku - 如何在 Perl 6 中使用非缓存的无限惰性列表

转载 作者:行者123 更新时间:2023-12-04 13:57:26 25 4
gpt4 key购买 nike

无限懒惰列表很棒!

> my @fibo = 0, 1, *+* ... *;
> say @fibo[1000];
43466557686937456435688527675040625802564660517371780402481729089536555417949051890403879840079255169295922593080322634775209689623239873322471161642996440906533187938298969649928516003704476137795166849228875

它们会自动缓存它们的值,这很方便……大多数情况下。
但是当处理巨大的斐波那契数 ( example ) 时,这可能会导致内存问题。

不幸的是,我不知道如何创建一个非缓存的斐波那契数列。任何人?

最佳答案

显然,菜鸟无法发表评论。

在定义诸如 sub fibonacci-seq2 之类的惰性迭代器时,应通过添加返回 True 的“is-lazy”方法将迭代器标记为惰性,例如:

method is-lazy(--> True) { }

这将使系统能够更好地检测可能的无限循环。

关于raku - 如何在 Perl 6 中使用非缓存的无限惰性列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668358/

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