在Scala的Range类独家结束(Exclusive end in Scala's Ran

2019-09-22 11:16发布

根据Scala的文档的方法Range.end ,则返回“的范围内的异端”。 那么,为什么这两者的返回相同的值tountil的符号? 例如:

Welcome to Scala version 2.9.2 (Java HotSpot(TM) Server VM, Java 1.7.0).
Type in expressions to have them evaluated.
Type :help for more information.

scala> (1 to 10).end
res0: Int = 10

scala> (1 until 10).end
res1: Int = 10

不应res0 == 11

Answer 1:

tountil结果在相关但不同的Range的类: Range.InclusiveRange分别; Range.Inclusive IS-A Range

  • isInclusive将两个类类型之间进行区分。

  • end ,或上限,被解释的范围为排他性或包容的上下文。 的上限的范围是从说明书中,这是所提供的第二个数字10在两者的原始问题的样品的情况。 求是,这种“上界”可以是低于“下限”,如果范围从高变为低(即1 until -10 )。

  • last将范围返回的最后一个值,这可能是你正试图从获得end



文章来源: Exclusive end in Scala's Range class
标签: scala range