2012-02-06 75 views
1

我想用case語句對字符進行分類,但我不確定我會如何在Ruby中進行此操作。案例聲明字符分類

以下是我有:

case c 
    when ('a'..'z'), ('A'..'Z'), '$' 
    puts "#{c} true" 
    when ' ' 
    #ignore spaces 
    else 
    puts "#{c} false" 
    end 

但是,這是一種混亂的,我想簡化它。無論如何用正則表達式來簡化它?

喜歡的東西:

case c 
    when '[a-zA-Z$]' 
    puts "#{c} true" 
    when '[\s]' 
    #ignore whitespace 
    else 
    puts "#{c} false" 
    end 

怎麼會這樣的事情在Ruby中做什麼?

回答

3

絕對!但語法應該是這樣的:

case c 
when /[a-zA-Z$]/ 
    puts "#{c} true" 
when /\s/ 
    # ignore 
else 
    puts "#{c} false" 
end 
+0

甜!這正是我正在尋找/希望的。謝謝! – 2012-02-06 20:30:10

+0

你的回答太快:)我必須再等9分鐘才能接受。 – 2012-02-06 20:31:05