Я пытаюсь скомпилировать простой helloworld в Scala, и получить ошибку «scala: value capitalize не является членом Char» Почему компилятор считает, что newW Char?Scala: неправильный вывод типа при сопоставлении строк?
val dict = Map(
"hello" -> "olleh",
"world" -> "dlrow"
)
def translate(input: String): String = {
input.split("""\s+""").map(w => dict.getOrElse(w.toLowerCase, w).map(newW =>
(if (w(0).isUpper) newW.capitalize else newW))
).mkString(" ")
}
Технически, 'String' не' List [Char] ', в отличие от Haskell. Я думаю, что между ними существует неявное преобразование. –
Вы правы, я обновил текст соответствующим образом. –