2017-03-10 20 views

答えて

5

Scala 2.12でRangeのtoString関数が変更されました。

2.12.0とテスト:2.11.8

scala> (1 to 10) 
res0: scala.collection.immutable.Range.Inclusive = Range 1 to 10 

テスト:

scala> (0 to 10) 
res0: scala.collection.immutable.Range.Inclusive = Range(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 

Source code for 2.12

override def toString = { 
    val preposition = if (isInclusive) "to" else "until" 
    val stepped = if (step == 1) "" else s" by $step" 
    val prefix = if (isEmpty) "empty " else if (!isExact) "inexact " else "" 
    s"${prefix}Range $start $preposition $end$stepped" 
} 

Source code for 2.11

override def toString() = { 
    val endStr = 
    if (numRangeElements > Range.MAX_PRINT || (!isEmpty && numRangeElements < 0)) ", ...)" else ")" 
    take(Range.MAX_PRINT).mkString("Range(", ", ", endStr) 
} 

+0

しかし、それは数字を表示するために使用されました。その変化はありましたか? – nmat

+0

質問を反映するために私の答えを編集しました – Tyler

+0

2.12以降に変更されたようです。ありがとう!! –

関連する問題