暗黙の検索のこのケースを理解しようとしています - finding implicit of an argument's type。私は、IDEに公式の例を貼り付け、コピーして、ちょうどこのようMULにメソッド名を変更:スカラ暗黙の引数の型の検索に失敗する
value mul is not a member of Int
私も試してみました:
class A(val n: Int) {
def mul(other: A) = new A(n + other.n)
}
object A {
implicit def fromInt(n: Int) = new A(n)
}
1 mul (new A(1))
今では、と言って、コンパイルエラーになりますの代わりに文字列を試して、コンパイルエラーが発生しました。
私が間違っていることを説明できますか?
うわー、ありがとう!それがまさに問題でした。メソッド名は、implicitsが適用される前にオブジェクトに既に存在しているはずです。 –
非常に興味深い、この種の解像度が有用なのはいつですか? @マイケル; – Mikel
;それは良い質問です。暗黙のスコープ規則がどのように/どうして決定されたのかわかりません。私はこのことについて少し驚いた。 – jwvh