Подчеркивание Scala - ОШИБКА: отсутствует тип параметра для расширенной функции - PullRequest
79 голосов
/ 02 октября 2011

Я знаю, что было довольно много вопросов по этому поводу, но я создал простой пример, который, как я думал, должен работать, но все еще не работает, и я не уверен, что понимаю, почему

val myStrings = new Array[String](3)
// do some string initialization

// this works
myStrings.foreach(println(_))


// ERROR: missing parameter type for expanded function
myStrings.foreach(println(_.toString))

Может кто-нибудь объяснить, почему второе утверждение не компилируется?

1 Ответ

104 голосов
/ 02 октября 2011

Расширяется до:

myStrings.foreach(println(x => x.toString))

Требуется:

myStrings.foreach(x => println(x.toString))

Синтаксис заполнителя для анонимных функций заменяет наименьшее возможное выражение, содержащее выражение, на функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...