【发布时间】:2016-09-19 11:56:05
【问题描述】:
我正在学习 scala 方法,我创建了两个代码示例,它们在本质上有些相似,但在调用它们时感到困惑。
方法#1
def someTestMethod = {
println("Inside a test method")
}
这诉诸Unit 类型,因为它不返回任何内容。
方法#2
def anotherTestMethod() = {
println("Inside a test method")
}
这也使用Unit,但添加了花括号()。
这两种方法有什么区别,注意如果我像someTestMethod()这样调用第一种方法,scala shell/compiler会说
错误:单元不带参数,但如果我像someTestMethod 那样不带大括号调用的话效果很好。
另外,第二种方法似乎是万无一失的,从某种意义上说,它可以被称为anotherTestMethod 或anotherTestMethod(),这是为什么呢?
【问题讨论】:
-
除了重复:这也解释了docs.scala-lang.org/style/method-invocation.html的行为
-
感谢您的链接..有见地。
标签: scala