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=============社区

相关文章
相关标签/搜索