Подтвердить что ты не робот

Когда использовать "" (пробел) и когда использовать. (точка) при вызове методов в Scala?

Я видел Scala, используя как взаимозаменяемые, но я не знаю, когда использовать тот или иной.

Есть ли соглашение?

Например, они эквивалентны

"hello" toString 

и

"hello".toString()

И они могут быть даже смешаны

"hello".toString() length 

Какое соглашение?

4b9b3361

Ответ 1

Чтобы расширить комментарий от Yardena, существует Scala неофициальное руководство по стилю. В нем есть некоторые предложения о том, когда использовать точечную нотацию и когда нужно отбросить точку и скобки и, как правило, дать краткое обоснование рекомендации, с которой вы можете или не согласны, но, по крайней мере, это отправная точка.

Например, name toList может вести себя по-разному в зависимости от того, что на следующей строке.

Лично я напишу hello.toString.length с предположением, что все вызовы свободны от побочных эффектов (поэтому я отбрасываю скобки), а затем я должен сохранить точку для ее компиляции.

Ответ 2

Соглашение о пространстве обычно используется, когда метод функционирует подобно оператору (+, * и т.д.); соглашение о точках используется, когда оно больше похоже на вызов метода.

(Я знаю, что объяснение немного смутно, но на самом деле не существует жесткого правила для использования.)