Perl6拆分函数向数组添加额外元素

rx5*_*x57 4 perl6

my @r = split("", "hi");
say @r.elems;
--> output: 4
Run Code Online (Sandbox Code Playgroud)

split 在数组中添加了两个额外的元素,一个在开头,另一个在结尾.

我必须在每次拆分后进行移位和弹出以纠正此问题.

是否有更好的方法来分割字符串?

Eli*_*sen 6

如果要拆分空字符串,则会在返回列表的开头和结尾处获得一个空元素,因为在字符串之前和之后还有一个空字符串.

你想要的是.comb没有参数,完全在功能上写出来:

"hi".comb.elems.say;    # 2
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅https://docs.perl6.org/routine/comb#(Str)_routine_comb.