From: Brian Candler Date: 2009-01-28T19:54:35+09:00 Subject: Re: how can I switch over an array ? Tsunami Script wrote: > I have the following code snippet : > > def call(char,value) > case char > when " ","#","!","@","$","%","^","&","*","(",")","{","}"," > [","]","\'","\"","<",">",",",".","?",";","\n","\r" > @map[char].call(value) > when "digit" > @map[char].call(value) > when "char" > @map[char].call(value) > else > puts "don't know what to do with #{char} and #{value}" > end > end > > can the first when be written in a simpler way ? SPECIAL = /\A[#{Regexp.escape(" #!@$%^&*(){}[]'\"<>,.?;\r\n")}]\z/ def call(char,value) case char when SPECIAL ... etc -- Posted via http://www.ruby-forum.com/.