Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

case文でも正規表現が使えるんです(ドヤ顔)

よく仕様を読んでれば気づいたんでしょうけど。
というか、よんだはずの

たのしいRuby 第3版

たのしいRuby 第3版


にも普通に載ってました。
が、そのときの僕にとっては衝撃的だったのでメモ。

……はい。
Rubyのcase文では正規表現が使えます。
たとえば、lineという文字列がパターンに一致しているか判断するスクリプトの場合

case line
when /([N|E])([\d|.]+)/
  puts "It's GPS data"
when /(DATA):([\w]+)/
  puts "It's sensing data"
else
  puts "error!"
end

といった感じで、可読性が高いものを書くことができます。