1

我想知道,为什么这不起作用:

object test {
  def method1(a: Int) = println(a)  // println a -- doesn't work either

  method1 123
}

method1只带参数,也就是可以省略括号,不是吗?

4

1 回答 1

2

这与后缀操作有冲突。让我们看一下您的示例:

 println a 

解析器会将其解释为

 println.a

如果你能写会很混乱

 println 123

(这是可区分的,因为123它不是一个有效的方法名称),但现在如果你用123一个保存该值的变量替换,你会得到类似member a not found on println.

于 2013-08-14T17:06:08.023 回答