私は驚いています。 Rangeを入力するための実装の制限が、Int.MaxValueによって制限されているのはなぜですか?おかげさまで 範囲の制限
Q
範囲の制限
1
A
答えて
5
NumericRange
は、任意のタイプで を作品Range
クラスのより一般的なバージョンです。範囲タイプの実装はIntegral
で指定する必要があります。
Range.BigInt
,Range.Long
およびRange.BigDecimal
があります。完全性のためにRange.Int
が存在するが、Int
ベースのscala.Range
がより効果的でなければならない。私の意見でval r1 = new Range(0, 100, 1) val veryBig = Int.MaxValue.toLong + 1 val r2 = Range.Long(veryBig, veryBig + 100, 1) assert(r1 sameElements r2.map(_ - veryBig))
0
他の答えは単に間違っています。
これは他の数値タイプを使用できることを示していますが、Range
は、Scala/Javaの他のすべてのコレクションと同様に2³¹
要素しか保持できないという事実は変わりません。
私が知る限り、このデザイン決定の背後には本当の根拠はありません。 64ビットコレクションを持つことは確かに素晴らしく、64ビットインデックスを持つ配列のサポートはJavaにとっては一般的ですが、既存の言語/コレクションフレームワークに統合するのは難しいです。 JVMは合計40億個のオブジェクトに限られていると言う人もいますが、確認できませんでした。
関連する問題
- 1. 最大配列の範囲の制限
- 2. ストリームとコメントのFQL範囲の制限
- 3. mysqldumpレコードの範囲を制限する
- 4. Android:制限のあるレイアウトスクロール範囲
- 5. 無制限の配列範囲VB.NET
- 6. Ajax TruClient、使用範囲と制限?
- 7. 範囲パラメータを制限する方法
- 8. MySQLの制限されたTIMESTAMP範囲の回避策?
- 9. 可変範囲の制御
- 10. 範囲ごとの制限があるバッチスキャナ
- 11. UITextFieldを特定の文字範囲に制限する
- 12. どの範囲に数を制限する
- 13. DatePickerの日付範囲を制限する
- 14. LINQ左外部結合、右テーブルの日付範囲制限?
- 15. 範囲式の結果を制限する
- 16. jqueryの検索範囲を制限する方法
- 17. UIImageViewを制限された範囲にドラッグ
- 18. Postgresql - 範囲の制約 - 2つのテーブル
- 19. MXCSR制御レジスタの範囲は?
- 20. 特定の範囲の間でsybase ASEの結果が制限されます
- 21. Ajaxカレンダーの日付範囲をどのように制限できますか?
- 22. Pythonでsys.exit()の0-255の範囲制限をバイパスする方法は?
- 23. C#WinForms:MDI子ウィンドウを常にMDIParentの範囲内に制限する方法
- 24. 範囲とスコープ範囲
- 25. 範囲最小クエリ<O(n), O(1)>(ツリーから制限付きRMQへ)
- 26. Bootstrap Datepickerで選択可能な日付範囲を制限する方法は?
- 27. MDXクエリ - 範囲制約を使用して結果を限定する
- 28. coutブーストの範囲:要素の範囲
- 29. svn diffの改訂範囲の範囲
- 30. IP範囲とIP範囲 - 動的テキストボックス
内部で 'Range'がパラメータ化されておらず、' Int'を使用しているためですか? '新しい範囲(開始:Int、終了:Int、ステップ:Int)' http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.Range –
そして?それは明らかですが、Longを使わない理由は何ですか? – dvigal
回答をもう一度確認できますか? – soc