Почему числовой диапазон Scala для цикла for (и внутренних компонентов) ограничен размером Int и как реализовать эту функциональность?

) Что стоит за ограничением размера NumericRange Int для понимания цикла for в Scala? Возможно ли ( без особой головной боли) расширить "for/Seqs" NumericRange, чтобы использовать Long (или что-то большее, чем Int.MaxValue)?

scala>for (i: Long <- 0L to 10000000000) {}

java.lang.IllegalArgumentException: от 0 до 10000000000L на 1: «seqs не может содержать более элементов Int.MaxValue».
в scala.collection.immutable.NumericRange$.count(NumericRange.scala:227)
в scala.collection.immutable.NumericRange.numRangeElements(NumericRange.scala:53)
в scala.collection.immutable.NumericRange.length(NumericRange.scala:55)
в scala.collection.immutable.NumericRange.foreach(NumericRange.scala:73)
в .<инициализация>(<консоль>:19)
в .(<консоль>)
в .<инициализация>(<консоль>:11)
в .(<консоль>)
в $print(<консоль>)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
в java.lang.reflect.Method.invoke(Method.java:597)
в scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:704)
в scala.tools.nsc.interpreter.IMain$Request$$anonfun$14.apply(IMain.скала:920)
в scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:43)
в scala.tools.nsc.io.package$$anon$2.run(package.scala:25)
в java.lang.Thread.run(Thread.java:680)

--
Заранее спасибо!

10
задан IODEV 27 March 2012 в 13:23
поделиться