Methods with empty argument lists

Methods with empty argument listsshell

scala在沒有參數的方法調用上是很是靈活的。spa

若是一個方法沒有參數,你能夠不用括號來定義這個方法,調用的時候必定不加括號。scala

相反的,若是你在定義無參數的方法時加上括號,方法調用時能夠加括號,也能夠不加括號。以下,
code

scala> object Hello{
     |   def say = println("hello world")
     |   def work() = println("hello world")
     | }
defined object Hello

scala> Hello.say
hello world

scala> Hello.work
hello world

scala> Hello.work()
hello world

scala>

調用沒有括號沒有參數的方法時,若是加上括號則會出錯,it

scala> Hello.say()
<console>:12: error: Unit does not take parameters
       Hello.say()

在scala社區中約定,當方法沒有參數且方法調用沒有反作用時,能夠省略括號。相反,當方法沒有參數,但方法調用會產生反作用,一般會加上括號。console

=============END=============社區

相關文章
相關標籤/搜索