scala の値クラスを自分のプロジェクトの 1 つに適用したいと考えています。これにより、特定のプリミティブ型を大きなオーバーヘッドなしで強化し (願っています)、型安全性を維持できるからです。
object Position {
implicit class Pos( val i: Int ) extends AnyVal with Ordered[Pos] {
def +( p: Pos ): Pos = i + p.i
def -( p: Pos ): Pos = if ( i - p.i < 0 ) 0 else i - p.i
def compare( p: Pos ): Int = i - p.i
}
}
私の質問: forceの継承は、オブジェクトを使用するたびにオブジェクトOrdered
の割り当てをPos
行う (それによって大きなオーバーヘッドが発生する) かどうか。もしそうなら:これを回避する方法はありますか?