これは動機付けの例です。
List((1,2), (2,1), (3,1))
戻りたい:
List((1,2),(3,1))
私はいくつかの方法でこれをやろうとしました。初め:
List((1,2), (2,1), (3,1)) map { case (a,b) => if (a > b) (a,b) else (b,a) }
distinct
次に、タプルを使用しようとしました:
List((1,2), (3,4), (2,1)) map { t => if (t._1 <= t._2) t else t.swap }
次に、部分関数を少し異なる方法で定義します。
val pf: PartialFunction[(Int,Int), (Int,Int)] = {
case (i, j) if i >= j => (j, i)
}
List((1,2), (3,4), (2,1)) map pf distinct
定義されている要素にのみ PartialFunction を適用する方法はありますか? または、何らかの方法で PF と Identity を組み合わせます。