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つを見ました:パラメーターのアンタップリング。 この言語機能により、タプルを操作するときに明確な構文が可能になります。