6

根据该方法的Scala 文档Range.end,它返回“范围的唯一结尾”。那么为什么它为 thetountil符号返回相同的值呢?例如:

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吗?

4

1 回答 1

13

tountil导致相关但不同的Range类:Range.InclusiveRange,分别;Range.Inclusive IS-A Range.

  • isInclusive将区分这两种类类型。

  • end,或上限,在范围是独占或包含的上下文中解释。上限是范围规范中提供的第二个数字,它出现10在原始问题的两个示例案例中。是的,如果范围从高到低(即1 until -10),这个“上限”可能小于“下限”。

  • last将返回范围内的最后一个值,这可能是您试图从end.

于 2012-09-15T16:52:21.037 回答