From: Nobuyoshi Nakada Date: 2011-11-03T09:42:31+09:00 Subject: [ruby-dev:44784] Re: [ruby-trunk - Feature #5554][Open] A method that applies self to a Proc if self is a Symbol なかだです。 (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はできる。 中田 伸悦