このケースクラスを考えてみましょう。
case class IntPrinter(implicit val i: Int) {
def print()(implicit i: Int) = println(i)
}
次のように、暗黙の引数の値を明示的に渡してインスタンス化できます。
val p = IntPrinter()(9)
IRCで、今後、明示的に渡された値は、呼び出されたときに暗黙的に印刷に渡されると言われていますが、そうではありません。
p.print()
error: could not find implicit value for parameter i: Int
私は何か間違ったことをしているのですか、それとも間違った情報を誤解している/与えられているのですか?これを達成する方法はありますか?
編集:実際のところ、私p._
がこのようにインポートすると、期待どおりに機能します:
import p._
p.print()
これは確かに印刷され9
ます。
これは正しい動作ですか?import
それが聞こえるほど悪い考えを使用していますか?これを回避するにはどうすればよいですか?