为什么100 ~~ ^ 100在Perl 6中返回false?

时间:2016-01-09 11:44:01

标签: perl6

perl6 -e '100 ~~ ^100'返回False,在我看来它应该返回True,因为100在0到100之间的范围内。这是设计的一部分Range我只是在这里不理解这个课程,还是这个错误?

2 个答案:

答案 0 :(得分:14)

语法^1000 ..^ 100的简写,^表示“排除”。 0 ..^ 100实际上是0到99之间的数字。这是因为^100会得到一个包含100个元素的列表 - 这对于for循环非常有用。

不要忘记您可以使用say (^100).list输出整个列表。

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

答案 1 :(得分:5)

插入符^表示端点被排除在范围之外,因此实际上不包括100。

perl6 -e '100 ~~ 100'将返回true

读作:设计的一部分,参见https://doc.perl6.org/type/Range