なかだです。

(11/11/03 3:51), Tsuyoshi Sawada wrote:
> Often, you want to apply a Proc to self if self is a Symbol, but not do anything if otherwise. In this case, something I call Object#desymbolize may be convenient:
> 
>     proc = ->sym{
>         case sym
>         when :small_icon  then "16pt"
>         when :medium_icon then "32pt"
>         when :large_icon  then "64pt"
>         end
>     }
>     :small_icon.desymbolize(&proc) => "16pt"
>     "18pt".desymbolize(&proc) => "18pt"

"often"というのは疑問がありますし、特にSymbolに関係する機能とも思えませ
ん。Hashではどうでしょうか。

  desymbol = Hash.new {|h, k| k}
  desymbol[:small_icon] = "16pt"
  desymbol[:medium_icon] = "32pt"
  desymbol[:large_icon] = "64pt"

  desymbol[:small_icon] #=> "16pt"
  desymbol["18pt"] #=> "18pt"

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦