0

据我初学者对 Scala 的了解,没有任何方法可以达到最后一行。我希望我弄错了,我只是想确认一下。另外,我不明白为什么,因为编译器应该f从 import 语句中知道方法的所有者对象。

object A { def f(s: Any) = println(s) }
import A.f
A f 1 //Works
f 2 // Does not compile

为了澄清,有两个问题:

  1. 应该如何调用没有括号和显式所有者对象引用的单参数方法?(见主题。)
  2. 编译器无法理解最后一条语句的原因是什么?
4

1 回答 1

0
object A { def f(s: Any) {println(s)} }
import A.f
A f 1 //works
f(2) // works

什么时候可以省略括号、点、大括号、=(函数)等的精确规则是什么?

于 2013-03-18T13:57:23.897 回答