我已經看到Scala可以互換使用,但我不知道何時使用其中一種。何時使用「」(空格)以及何時使用。 (點)調用Scala中的方法?
有沒有約定?
例如,這些是等價的
"hello" toString
和
"hello".toString()
他們甚至可以混合
"hello".toString() length
有什麼約定?
我已經看到Scala可以互換使用,但我不知道何時使用其中一種。何時使用「」(空格)以及何時使用。 (點)調用Scala中的方法?
有沒有約定?
例如,這些是等價的
"hello" toString
和
"hello".toString()
他們甚至可以混合
"hello".toString() length
有什麼約定?
爲了擴大從亞丹娜的評論,有一個斯卡拉unofficial style guide。它對何時使用點符號以及何時刪除圓點和括號提供了一些建議,並且通常爲推薦提供一個簡短的基本原理,您可能會也可能不會同意,但至少這是一個起點。
例如name toList
根據下一行的內容可能會有不同的表現。
就個人而言,我會寫hello.toString.length
假設所有調用都是無副作用的(所以我放棄括號),然後我必須保留點以便編譯。
當方法的功能類似於操作符(+
,*
等)時,通常使用空間約定;當它的功能更像是一個方法調用時,使用點約定。
(我知道,解釋是一種模糊的,但真的有沒有一個硬性的規則來進行使用。)
我明白你的意思了。我在Coursera的課程中看到的一個很好的例子是使用「工會」方法。我認爲使用空格表示法編寫'union b'時看起來更具可讀性。而這個'union'就是一個操作符。 – jFrenetic 2017-01-16 02:44:30
請查看http://www.codecommit.com/scala-style-guide.pdf – Yardena 2010-08-03 19:06:37