이것에 대해 꽤 많은 질문이 있음을 알고 있지만 작동해야한다고 생각하는 간단한 예제를 만들었지 만 여전히 작동하지 않으며 그 이유를 잘 모르겠습니다.
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))
누군가 두 번째 문장이 컴파일되지 않는 이유를 설명 할 수 있습니까?
답변
다음으로 확장됩니다.
myStrings.foreach(println(x => x.toString))
원하는 :
myStrings.foreach(x => println(x.toString))
익명 함수의 자리 표시 자 구문은 가능한 가장 작은 포함 표현식을 함수로 바꿉니다.