本日は、 Ruby のちょっとしたネタをご紹介です。 Ruby で Hash の要素にアクセスするには、もちろん添え字演算子 [ 〜 ] を使います。でも、例えば JavaScript では、添え字演算子に加えてピリオド演算子でもアクセスできます。これを Ruby でも実現できないかと思ってやってみました。 このように定義した Hash#objectize! を呼び出すと、そのハッシュオブジェクトに特異メソッドとして method_missing が追加され、未定義のメソッド呼び出しを要素へのアクセスに変換します。例えば、以下のような感じでアクセスできます。 hash = { :foo => "foo" } hash.objectize! p hash.foo # -> "foo" hash.bar = "bar" p hash[:bar] # -> "bar" ただし、本来のメソッド呼び