Есть ли веская причина, почему Numeric
в стандартной библиотеке Scala не имеет функции maxValue
и minValue
. Это кажется весьма полезным, даже необходимо использовать его в определенных контекстах.Почему `Numeric` в стандартной библиотеке Scala не имеет` maxValue`?
Например, один может быть в состоянии определить генератор scalacheck, как например:
def arbNumeric[T:Choose](implicit num: Numeric[T): Arbitrary[T] = {
Arbitrary(Gen.chooseNum(num.MinValue, num.MaxValue))
}
в отличие от того, чтобы написать то же самое для каждого Int, Long, и т.д.:
val arbInt: Arbitrary[Int] = {
Arbitrary(Gen.chooseNum(Int.MinValue, Int.MaxValue))
}
def arbLong: Arbitrary[Long] = {
Arbitrary(Gen.chooseNum(Long.MinValue, Long.MaxValue))
}
def arbShort: Arbitrary[Short] = {
Arbitrary(Gen.chooseNum(Short.MinValue, Short.MaxValue))
}
...
Что будет 'MaxValue'' Numeric [BigDecimal] 'будет? – Marth
Как BigDecimal противоречит этой идее? –
каждый тип «Numeric» имеет разные пределы ... – pedrorijo91