何かが であるかどうかをパターンマッチで検出することは可能Numericですか? 私は次のことをしたい:
class DoubleWrapper(value: Double) {
override def equals(o: Any): Boolean = o match {
case o: Numeric => value == o.toDouble
case _ => false
}
override def hashCode(): Int = value ##
}
しかしもちろん、 はandNumericのようなもののスーパータイプではなく、型クラスであるため、これは実際には機能しません。の契約に合わせなければならないので、私もできません。IntDoubledef equals[N: Numeric](o: N)oAnyequals
Numericでは、既知のすべてのクラス (私が知らないかもしれないユーザー定義のクラスを含むと思います)をリストアップせずに、どうすればよいでしょうか?