私は Scala と暗黙の変換が初めてです。
私は、制御できない既存の scala ライブラリを使用しています。ライブラリのクラス R を考えてみましょう。
abstract class R {
}
object R {
implicit def RFunctions[K, V](r: R[(K, V)]) (implicit kt: ClassTag[K],vt: ClassTag[V], ord: Ordering[K] = null): RFunctions[K, V] = { new RFunctions(r) }
}
クラス R を拡張して、その動作のほとんどすべてをオーバーライドしています。しかし、この新しいクラスは Java クラスです。これをAとしましょう。
class A extends R {
}
問題は、私の制御フローのある時点で、制御が R の暗黙の宣言にジャンプし、最終的に任意の機能に RFunctions クラスを使用することです。
RFunctions に存在するメソッドは、拡張クラス A にも実装されています。暗黙的な変換をバイパスまたは回避する方法がわかりません。
どんなアイデアでも大歓迎です。