gpt4 book ai didi

raku - 为什么我不能 `tail` 是 Perl 6 列表中 `tail` 的结果?

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

为什么我不能tail tail 的结果?我可以调用head在序列 tail返回(和其他变体),但 tailtail不起作用(在 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在那里工作:
> $list.tail(5).list.tail
j

最佳答案

这是一个错误。
.count-only List.iterator 的优化方法没有考虑到迭代器在调用方法时可能已经被部分消耗(这里是第一个 .tail 调用),并且正如 timotimo++ 在注释中指出的那样,始终返回原始长度。无耻.tail然后 used that method ,击中错误。

现在已修复 2017.11-76-gf70e20b乐堂

除非我误解了迭代器协议(protocol),否则同样的错误 was present在很多其他迭代器中,所以感谢您找到这个配置单元!

关于raku - 为什么我不能 `tail` 是 Perl 6 列表中 `tail` 的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47704428/

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