在普通物体上,我可以执行以下操作:
object A {
def apply = "!"
}
A() // "!"
但是在包对象上,这不起作用:
package object A {
def apply = "?"
}
A.apply // "?"
A() // compile error
// error: package A is not a value
有一些基本的限制吗?或者它只是一个实现限制,我可以通过稍微调整编译器来解决?
在普通物体上,我可以执行以下操作:
object A {
def apply = "!"
}
A() // "!"
但是在包对象上,这不起作用:
package object A {
def apply = "?"
}
A.apply // "?"
A() // compile error
// error: package A is not a value
有一些基本的限制吗?或者它只是一个实现限制,我可以通过稍微调整编译器来解决?