PHPでarray_mergeという関数があってなかなか便利というか、連想配列で重複しているキーがあるならその要素は上書きされるという約束になっています。
2つ引数で連想配列を指定して先に指定した方に後のをマージするということで、この場合前述のように重複したキーがあるならば後の要素で前のを上書きすることになります。
こいつをScalaでやろうとすると以下のようになります。
1 2 3 4 5 6 7 8 |
scala> val m1 = Map(1 -> "A", 2 -> "B") m1: scala.collection.immutable.Map[Int,String] = Map(1 -> A, 2 -> B) scala> val m2 = Map(2 -> "b", 3 -> "C") m2: scala.collection.immutable.Map[Int,String] = Map(2 -> b, 3 -> C) scala> m1 ++ m2 res0: scala.collection.immutable.Map[Int,String] = Map(1 -> A, 2 -> b, 3 -> C) |
まあ++メソッド(Scalaには演算子はありません)一発なんですよね。
この辺は書き方の問題に過ぎませんがね。
最近のコメント