もっと短くかけないものかな:ハッシュが存在していない時はハッシュ値を入れ、存在しているときはハッシュ値+"X"で更新する、

最近Code Golfに目覚めて、その簡潔なコーディングに日々感銘を受けています。

Rubyでは、たとえば、Aという変数がすでに定義済みであればなにもせず、定義されていなければ"B"という値をいれる、というのを自己代入演算子を用いて短く表現できます。

A||="B"


今仕事でテキストデータを処理していて、ハッシュ値が存在していない時は、ハッシュ値を作成し、存在しているときは既存のハッシュ値+"X"で更新する、ということが必要になりました。

h = Hash.new
h[:key] = !(h[:key]) ? "some value" : h[:key] + "X"


三項演算子嫌い。なにか短く書く方法なないものでしょうか。