这是一个例子。我想知道为什么我无法使用圆角括号(()
)来调用toFloat
方法
此作品:toFloat
scala> val no = "8.5".toFloat
no: Float = 8.5
无法正常工作:toFloat()
scala> val no = "8.5".toFloat()
<console>:27: error: Float does not take parameters
val no = "8.5".toFloat()
^
答案 0 :(得分:4)
方法StringLike.toFloat
定义为:
def toFloat: Float = java.lang.Float.parseFloat(toString)
文档说明括号中的以下内容:
括号
与Ruby不同,Scala重视是否使用括号声明方法(仅适用于arity-0的方法)。
例如:
def foo1() = ...
def foo2 = ...
这些是编译时的不同方法。 虽然可以使用或不使用括号调用foo1,但可能不会使用括号调用foo2。
这表明如果声明没有括号的方法,则在调用期间可能不会添加它们。