1
У меня есть пример кода:Дает ошибку на SPARK REPL (ссылка на A неоднозначна) и отлично работает в Intellij и Scala REPL?
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
Но при попытке сделать это на РЕПЛ:
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")
Что я здесь отсутствует? Если вы можете подробно объяснить, что было бы полезно.
Это работает хорошо для меня. –
Он работает на Scala REPL, тогда почему это не работает на SPARK REPL? –