如果Scala中遗漏了等号,方法会变成什么?

时间:2013-07-06 11:37:16

标签: scala

我刚刚发现在Scala中定义方法时可能不会使用=的符号。

def someMethod(a: Int) {
  println(a)
  println("---------")
}

上述版本与参数列表和开头大括号{后面的等号之间有什么区别?

1 个答案:

答案 0 :(得分:16)

此类方法定义称为procedure。这是Unit的特殊语法 - 返回方法:

def someMethod(a: Int): Unit = {
  println(a)
  println("---------")
}

这不是推荐的语法。 Martin Odersky认为包含这种语法是一个错误的决定。请参阅Keynote - Scala with Style chapter 45