Scala3でのパラメーターのアントゥプリング
1. 概要
このチュートリアルでは、Scala3で導入された新しいパラメーターのアンタップリング機能について説明します。
2. パラメータのアンタップリング
パラメータのアンタップリングは、Scala3で導入された多くの変更の1つです。 この新しい言語機能により、ボイラープレートの少ないタプルを操作できます。以前のScala 2バージョンでは、ペアのリストを反復処理する場合は、 case ステートメント:
val lst = List((1,2), (3,4))
lst.map { case (x, y) => x + y }
> val res0: List[Int] = List(3, 7)
3. Scala3でのパラメーターのアントゥプリング
前のコードスニペットは問題なく機能しますが、多くのプログラマーにとって混乱の原因にもなりました。 新しいScala開発者は、構文が部分関数のように見えると考え、一部の入力では関数が失敗することを示唆しています。 Scala 3は、パラメーターのunuplingを使用して、より短く明確な代替手段を導入することにより、この問題に対処します。
lst.map { (x, y) => x + y }
> val res0: List[Int] = List(3, 7)
この特定のケースでは、もう少し単純化できます。
lst.map(_ + _)
> val res0: List[Int] = List(3, 7)
4. 結論
この短い記事では、Scala 3で導入された多くの新機能の1つを見ました:パラメーターのアンタップリング。 この言語機能により、タプルを操作するときに明確な構文が可能になります。