Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

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