в примере countWord я применяю foreach, но он не может разрешить ошибку символа - PullRequest
0 голосов
/ 04 ноября 2019

вот пример о countWords. (Scala)

[origin]
def countWords(text: String): mutable.Map[String, Int] = {
  val counts = mutable.Map.empty[String, Int]
  for (rawWord <- text.split("[ ,!.]+")) {
    val word = rawWord.toLowerCase
    val oldCount =
      if (counts.contains(word)) counts(word)
      else 0
    counts += (word -> (oldCount + 1))
  }
  return counts
}

[my code]
here is my code.
def countWords2(text: String):mutable.Map[String, Int] = {
  val counts = mutable.Map.empty[String, Int]s

  text.split("[ ,!.]").foreach(word =>
    val lowWord = word.toLowerCase()
    val oldCount = if (counts.contains(lowWord)) counts(lowWord) else 0
    counts += (lowWord -> (oldCount + 1))
  )

  return counts
}

Я попытался перевести предложение «for ()» в «foreach», но получил сообщение об ошибке «не удалось разрешить символ». как использовать foreach в этом случае?

...