1. ホーム
  2. scala

[解決済み] Scala underscore - ERROR: 展開された関数のパラメータ型が見つかりません。

2022-02-08 01:52:18

質問

この件に関して多くの質問があることは承知していますが、私は動作するはずの簡単な例を作りましたが、それでも動作せず、その理由がよくわかりません。

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))

なぜ2番目のステートメントがコンパイルできないのか、誰か説明してください。

解決方法は?

に展開されます。

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

欲しいんだろう。

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

無名関数のプレースホルダー構文は、可能な限り小さな包含式を関数に置き換えます。