ハッシュの値を加算・減算する関数を作成する

ハッシュの値を加算・減算する関数を作成しました。
具体例としては、以下のH1とH2というハッシュに対して加算する場合、緑の部分を加算します。

H1H2
キーキー
one11zero0
two12one1
three13two2
four14three3
そして、結果は次のようなハッシュを返します。(重ならないキーは排除するようにします。)
結果
キー
one12
two14
three16
以下が作成した関数を含むスクリプトです。

Function HashValueNumCalc{
    param($h1,$h2,$operator);
    $r = @{};
    foreach ( $v in $h1.keys ){
        if ($h2.Containskey($v) ){
            switch ($operator){
                "-" {$r[$v] = $h1[$v] - $h2[$v];break}
                "+" {$r[$v] = $h1[$v] + $h2[$v];break}
                default {$r[$v] = $h1[$v] + $h2[$v]}
            }
        }
    }
    $r
}
$H1 = @{one = 11; two = 12; three = 13; four = 14}
$H2 = @{zeo = 0; one = 1; two = 2; three = 3}

HashValueNumCalc $H1 $H2 -;
write-Host "";
HashValueNumCalc $H1 $H2 +;
write-Host "";
HashValueNumCalc $H1 $H2;

実行結果は以下のようになります。