私はすでにScalaでアンダースコアのすべての用途は何ですか?この質問はすでに聞かれていると確信していますが、Scala に関する他の 17000 の質問をすべて調べることはできません。
Foreach には奇妙な動作があり、Placeholder は役に立ちませんが、まだ隠された機能のようです:
scala> val is = (1 to 5) toList
is: List[Int] = List(1, 2, 3, 4, 5)
scala> is foreach { i => println("Hi.") ; Console println 2 * i }
Hi.
2
Hi.
4
Hi.
6
Hi.
8
Hi.
10
scala> is foreach { println("Hi.") ; Console println 2 * _ }
Hi.
2
4
6
8
10
誰かが私に違いを教えてくれますか?
熱意が爆発したと感じたら、次のことを試してください。
scala> is foreach { i => println("Hi!") ; Console println 2 * i }
java.lang.IllegalArgumentException: !") ; Console println 2 * i }: event not found
次に、この回答を参照してください。 そして、はい、それは本当に起こりました。