为什么Perl 6序列'A'...'AA'只有一个元素?

Sea*_*ean 12 sequence perl6

今天我注意到序列'A' ... 'AA'只包含一个元素:

> 'A' ... 'AA'
(A)
Run Code Online (Sandbox Code Playgroud)

我认为它将包含27:字母加上决赛AA.

如果我明确提供了一个生成器,它会:

> 'A', *.succ ... 'AA'
(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA)
Run Code Online (Sandbox Code Playgroud)

文档说默认生成器是*.succ或者*.pred取决于端点的比较方式.但:

> 'A' cmp 'AA'
Less
Run Code Online (Sandbox Code Playgroud)

所以看来我应该*.succ默认获得生成器.我绝对没有得到*.pred发电机:

> 'A', *.pred ... 'AA'
Decrement out of range
  in whatevercode  at <unknown file> line 1
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

wam*_*mba 6

看看它使用的代码:rakudo/operators

你的代码非常相似

"A", *.succ ...^ * gt "AA"
Run Code Online (Sandbox Code Playgroud)

("B" gt "AA"True)

和Curt Tilmes的代码类似

"A", *.succ ...^ {$_ gt "ZZ" or .chars > "ZZ".chars}
"A", *.succ ...^ {$_ gt "YY" or .chars > "YY".chars}
Run Code Online (Sandbox Code Playgroud)

("Z" gt "YY"并且"AAA".chars > "ZZ".charsTrue)