xcorp::When it rains, it pours.

"The nice thing about rain," said Eeyore, "is that it always stops. Eventually."

シンボル

Ruby 始めて早 2 ヶ月。

ようやくブロック付き引数に慣れてきました。非常に便利ですね。

しかし、いまだに慣れない(というか存在意義が分からない)ものが 1 つ。それは...

シンボル。

ヨソ様から渡されたデータのシンボルを case で判別する意味が分からん。

    hoge = args['HogeArg'].to_sym
    :
    case hoge
    when :a
      :
    when :b
      :
    end

そのままでよくないか?

    hoge = args['HogeArg']
    :
    case hoge
    when 'a'
      :
    when 'b'
      :
    end

誰かシンボルがどういうときに便利なのか教えてください。

あー、シンボルの意味は分かってるんだけれども。オブジェクトが一意なワケだし、Hash の key に使うと早いとか、GC の回数が減るとか。

そういうんじゃなくて、こういうときにシンボルって使うんだ ZE!! どうだい、coooooooool だろ?ってのがあればひとつお願いしたい。