为什么 100 ~~ ^100 return 在 Perl 6 中为假?

Why does 100 ~~ ^100 return false in Perl 6?

perl6 -e '100 ~~ ^100' returns False,在我看来应该是 return True,因为 100 在 0 和100. 这是 Range class 设计的一部分,我只是在这里不理解还是这是一个错误?

插入符号[=​​10=]表示端点被排除在范围之外,因此实际上不包括100。

perl6 -e '100 ~~ 100' 将 return true.

解读为:设计的一部分,cf. https://doc.perl6.org/type/Range

^100 的语法 0 ..^ 100 是 short-hand,^ 表示 "excluding"。 0 ..^ 100 实际上是数字 0 到 99。那是因为使用 ^100 你会得到一个恰好包含 100 个元素的列表 - 这对于 for 循环非常有用。

别忘了你可以用 say (^100).list.

输出整个列表

除此之外,还有^..^..^不包括第一个元素或第一个和最后一个元素。