1
A
答えて
2
単純にrequire
を追加するか、無効な値を取得したときに例外をスローするもので問題を解決します。
class Test(val myInt :Int){
require(0 <= myInt && myInt <= 10)
}
3
Refinedを挙げてください。コンパイル時にチェックされる範囲の型を作成することができます。
type InMyRange = Interval.ClosedOpen[W.`0`.T, W.`10`.T]
、あなたがそうのように、この型の値を作成することができます:
あなたの範囲は次のようになり、エラーの場合には
refineMV[InMyRange](0)
// Refined[Int, InMyRange] = 0
refineMV[InMyRange](9)
// Refined[Int, InMyRange] = 9
を:
refineMV[InMyRange](-1)
// Left predicate of (!(-1 < 0) && (-1 < 10)) failed: Predicate (-1 < 0) did not fail
refineMV[InMyRange](10)
// Right predicate of (!(10 < 0) && (10 < 10)) failed: Predicate failed: (10 < 10)
関連する問題
- 1. 範囲シークバー設定範囲
- 2. PColor問題 - 特定の範囲に特定の色を設定する方法
- 3. Python - リスト範囲を特定の値に設定する
- 4. 各ビットが整数の範囲で設定された回数の回数
- 5. Python Raw_Input特定の範囲
- 6. 範囲内の整数を保持しますか?一定の範囲内の整数を保つために
- 7. 設定スクロール範囲
- 8. VBAで特定の範囲を特定します
- 9. セルの設定範囲
- 10. jquery設定の範囲
- 11. UIPickerViewコンポーネントの範囲を設定する
- 12. matplotlibカラーバーの範囲を設定する
- 13. phpexcelでセル範囲を設定する
- 14. Excelでセルの範囲の数式を設定する方法
- 15. 複数のワークシートで範囲を設定する
- 16. GUIでDelphiの数値範囲を設定する
- 17. 特定の範囲内の乱数を生成する
- 18. jquery date pickerを設定して特定の日付範囲を選択する
- 19. persp3dでの色範囲の設定R
- 20. Redisでカウンタの定義済み範囲を設定する
- 21. 複数の範囲に1列のコンボボックスを設定する
- 22. Qの特定の範囲のQsort?
- 23. 設定した範囲の値セットExcelの値の範囲を設定するには最初の値のみ
- 24. 特定のstagenamesに整数値を設定する
- 25. は、編集上の特定の範囲()
- 26. 特定のセルの範囲に移動
- 27. 特定の範囲のカスタムOnChange()トリガ(グーグルシート)
- 28. 特定の日付範囲のGoogle Playでのダウンロード数
- 29. atan2を特定の角度範囲に限定する
- 30. 使用範囲オフセットからの範囲の設定
あなたは意味しますmyIntにバリデーションを追加したいですか? –
私は[Shapless](https://github.com/milessabin/shapeless)のコンパイル時のタイプレベルプログラミングでこれを実現できる方法があると確信しています。残念ながら、私はそれを行う方法を正確に知るには十分に精通していません –