Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了perl6 – 为什么我不能在Perl 6列表中“尾随”`tail`的结果?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为什么我不能拖尾的结果呢?我可以在序列尾部返回(以及其他变化)上调用头部,但尾部的尾部不起作用(在2017.10中):
> my $list = <a b c d e f g h i j>;
(a b c d e f g h i j)
> $list.head(5).head
a
> $list.head(5).tail
e
> $list.tail(5).head
f

这个失败了:

> $list.tail(5).tail
Nil

但是在那里扔一个列表有效:

> $list.tail(5).list.tail
j

解决方法

这是一个错误.

List.iterator的.count-only优化方法没有虑到迭代器在调用方法时已经被部分消耗(这里,通过第一个.tail调用)的事实,并且正如timotimo在注释中指出的那样,始终保持原始长度.绝对的.tail然后used that method,击中了虫子.

现已修复2017.11-76-gf70e20b Rakudo

除非我误解迭代器协议,在相当多的其他迭代器中同样的bug was present,所以感谢找到这个蜂巢!

大佬总结

以上是大佬教程为你收集整理的perl6 – 为什么我不能在Perl 6列表中“尾随”`tail`的结果?全部内容,希望文章能够帮你解决perl6 – 为什么我不能在Perl 6列表中“尾随”`tail`的结果?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。