何时使用&引用;(空格)以及何时使用。(点)在Scala中调用方法时?

何时使用&引用;(空格)以及何时使用。(点)在Scala中调用方法时?,scala,syntax,language-design,Scala,Syntax,Language Design,我已经看到Scala可以互换使用这两种方法,但我不知道什么时候使用这两种方法 有会议吗 例如,它们是等价的 "hello" toString 及 它们甚至可以混合在一起 "hello".toString() length 约定是什么?当方法的功能类似于运算符(+,*等)时,通常使用空间约定;点约定在其功能更像方法调用时使用 (我知道这个解释有点含糊不清,但并没有一个确切的用法规则。)要进一步阐述Yardena的评论,有一个Scala。它有一些关于何时使用点符号以及何时删除点和括号的建议,

我已经看到Scala可以互换使用这两种方法,但我不知道什么时候使用这两种方法

有会议吗

例如,它们是等价的

"hello" toString 

它们甚至可以混合在一起

"hello".toString() length 

约定是什么?

当方法的功能类似于运算符(
+
*
等)时,通常使用空间约定;点约定在其功能更像方法调用时使用


(我知道这个解释有点含糊不清,但并没有一个确切的用法规则。)

要进一步阐述Yardena的评论,有一个Scala。它有一些关于何时使用点符号以及何时删除点和括号的建议,通常为建议提供一个简短的理由,您可能同意也可能不同意,但至少这是一个起点

例如,
name toList
可能会根据下一行的内容表现出不同的行为


就我个人而言,我会编写
hello.toString.length
,假设所有调用都没有副作用(因此我去掉括号),然后我必须保留点以便编译

看看,我明白你的意思。我在Coursera的课程中看到的一个好例子是使用
union
方法。我认为当使用空格符号编写联合体b时,它看起来更可读。这种情况下,
union
充当操作符。
"hello".toString() length