>.say 但是,结果并没有按顺序排列: baz foo bar 这是怎么回事?-6ren">
gpt4 book ai didi

raku - 如何以原始顺序从超算子中获取元素?

转载 作者:行者123 更新时间:2023-12-01 08:27:48 25 4
gpt4 key购买 nike

我想将一个字符串拆分为单词并将每个单词打印在单独的行上,所以我尝试了以下操作:

"foo bar baz".words>>.say

但是,结果并没有按顺序排列:

baz
foo
bar

这是怎么回事?

最佳答案

super 运算符(operator)实际上会按顺序返回结果。您的代码的问题是超操作不是循环构造;他们是列表运算符。因此,它们的执行顺序并不能保证,并且使用它们的代码好像是不正确的。如果你关心执行顺序,你应该使用像 for 这样的结构来保证它。

比如这个

my @a = "foo bar baz".words>>.split("a");

导致 @a 包含按您期望的顺序排列的元素,无论每个元素的计算顺序如何:

foo b r b z

关于raku - 如何以原始顺序从超算子中获取元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29701614/

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