尝试制作一个scala.collection.immutable.NumericRange[UInt]
看起来它需要一个scala.math.Integral[UInt]。
但似乎没有spire.math.Integral[UInt]。
我猜想这是因为UInt在某种程度上违反了Integral的法律。
我最感兴趣的是NumericRange[UInt].contains(x: UInt)
我尝试自己构建一个scala.math.Integral[UInt]是不是很愚蠢?
或者我应该找到其他方法来获得contains
是否存在应该由Set[T]和Range继承的特征,以及声明contains[T]的NumericRange[T]
这个特征应该叫什么呢?
我应该作为一个类型类来做这件事吗?
我应该怎么称呼这个类型类?
发布于 2021-03-27 22:02:00
如果你只需要contains(x: UInt),你应该使用spire.math.Interval[UInt]
请参阅:https://typelevel.org/spire/api/spire/math/Interval.html
如果您需要NumericRange[UInt]的其他部分,请查看将来提供的其他答案。
https://stackoverflow.com/questions/66831620
复制相似问题