サンプルコードがあります:
class A(str: String) {
println(s"InsideCase:::$str")
}
object A {
def apply(str: String) = {
println("foobar::")
new A(str)
}
}
object b extends App {
A("kool")
}
このコードは Intellij で正常に動作します。そして私に出力を与えます:
foobar::
InsideCAse:::kool
しかし、 REPL でこれを実行しようとすると:
scala> :paste
// Entering paste mode (ctrl-D to finish)
class A(str: String) {
println(s"InsideCAse:::$str")
}
object A {
def apply(str: String) = {
println("foobar::")
new A(str)
}
}
// Exiting paste mode, now interpreting.
defined class A
defined object A
scala> A("kool")
次のエラーが表示されます:
<console>:27: error: reference to A is ambiguous;
it is imported twice in the same scope by
import $line31$read.A
and import INSTANCE.A
A("kool")
ここで何が欠けていますか? 詳しく教えていただけると助かります。