让我们有两个来源:
Library/package.scala
:
package object Library {
def apply(name: String) = name.reverse
}
Main.scala
:
object Main extends App {
println(Library.apply("reverse me")) // works
println(Library("reverse me")) // error: package Library is not a value
}
有什么方法可以解决这个问题吗?我可以在包对象或其他地方添加一些东西,以便我可以使用语法糖直接调用对象,而不必明确指定应用吗?
答案 0 :(得分:0)
经过一些实验后,我发现我可以使用一个同名的辅助对象,但是包含在不同的包或对象中,如下所示:
object LibraryApply {
object Library {
def apply(name: String) = _root_.Library.apply(name)
}
}
import LibraryApply._