2
Scala標準庫中的Numeric
爲什麼沒有maxValue
和minValue
函數有充分的理由。它似乎相當有用,甚至有必要在某些情況下使用它。爲什麼Scala標準庫中的Numeric沒有`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))
}
...
'Numeric [BigDecimal]'的'MaxValue'會是什麼? – Marth
BigDecimal如何抵觸這個想法? –
數字的每個「類型」具有不同的限制... – pedrorijo91