Либо должно работать.В scala вы можете опустить .
с пробелом для вызова метода, который, вероятно, является неверной версией пути haskell.Я думаю, что пространство в scala не рекомендуется согласно официальному документу - РУКОВОДСТВО ПО СТИЛЮ - МЕТОД ИНВОКАЦИИ
Пример:
scala> val data = "guitar"
data: String = guitar
scala> data.toUpperCase
res8: String = GUITAR
Вы можете использовать пробел вместо .
,
scala> data toUpperCase
<console>:13: warning: postfix operator toUpperCase should be enabled
by making the implicit value scala.language.postfixOps visible.
This can be achieved by adding the import clause 'import scala.language.postfixOps'
or by setting the compiler option -language:postfixOps.
See the Scaladoc for value scala.language.postfixOps for a discussion
why the feature should be explicitly enabled.
data toUpperCase
^
res9: String = GUITAR
Поскольку .toUpperCase
используется после структуры данных без .
(это называется Постфиксный оператор ), и компилятор просто предупреждает об этом.Это можно исправить, как говорится в предупреждении:
scala> import scala.language.postfixOps
import scala.language.postfixOps
scala> data toUpperCase
res10: String = GUITAR
То же самое относится и к вашему примеру.С точки зрения читабельности точка делает вас более читабельным.
scala> (1 to 10 by 3).toList
res9: List[Int] = List(1, 4, 7, 10)
ТАКЖЕ, операторы после исправления могут привести к ошибкам.Например, 1 + "11" toInt
примените toInt
в конце вычисления, но, возможно, я хотел получить 1 + "11".toInt
ТАКЖЕ, ТАКЖЕ в связи с вашей ошибкой, вам нужно кричать на компилятор, чтобы прекратить цепочку на toList
с ;
или новой строкой после оператора после исправления.Или вы можете использовать val
, def
после оператора пост-исправления, чтобы компилятор теперь знал, что это другой контекст.
scala> :paste
import scala.language.postfixOps
val range = 1 to 10 by 3 toList
println(s"$range")
// Exiting paste mode, now interpreting.
List(1, 4, 7, 10)
import scala.language.postfixOps
range: List[Int] = List(1, 4, 7, 10)
Также читайте: Давайте отбросим постфиксные операторы