我想知道,为什么这不起作用:
object test {
def method1(a: Int) = println(a) // println a -- doesn't work either
method1 123
}
method1
只接受参数,也就是说,可以省略括号,不是吗?
答案 0 :(得分:2)
这与后缀操作发生冲突。我们来看看你的例子:
println a
解析器会将其解释为
println.a
如果你能写
,那将会非常混乱 println 123
(这是可区分的,因为123
不是有效的方法名称),但现在如果用保存值的变量替换123
,你会得到类似member a not found on println
的内容