加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:49:48 所属栏目:大数据 来源:网络整理
导读:今天我注意到序列’A’…’AA’只包含一个元素: 'A' ... 'AA'(A) 我认为它将包含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) 文档说默认生成器是* .succ或* .pre
今天我注意到序列’A’…’AA’只包含一个元素:
> 'A' ... 'AA'
(A)

我认为它将包含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)

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

> 'A' cmp 'AA'
Less

所以我似乎应该默认获得* .succ生成器.我肯定没有得到* .pred生成器:

> 'A',*.pred ... 'AA'
Decrement out of range
  in whatevercode  at <unknown file> line 1

这里发生了什么?

解决方法

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

你的代码非常相似

"A",*.succ ...^ * gt "AA"

(“B”gt“AA”为True)

和Curt Tilmes的代码类似

"A",*.succ ...^ {$_ gt "ZZ" or .chars > "ZZ".chars}
"A",*.succ ...^ {$_ gt "YY" or .chars > "YY".chars}

(“Z”gt“YY”和“AAA”.chars>“ZZ”.chars为True)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读