Switch ifadesi çoktan seçmeli işlem yapılması gereken durumlarda, karşılaştırma yapacağımız öğeler net ise sıklıkla işe yarayan bir ifadedir. C#, Java gibi dillerde Switch(var){Case1:..;Case2:..;} şeklinde kullanılırken, T-Sql de Case var When.. End şeklinde kullanılmaktadır. Ruby de ise farklı durumlarda daha sade bir dille karşılaştırma yapmanızı sağlayan şöyle bir yapı ile kullanılmaktadır:
puts case osman
when 1..9
"Osman 1 ile 9 arasında."
when 10
"Osman çok iyi."
when String
"Osman maalesef yazı, sayı olsa daha iyi olurdu."
else
"Sen bana bunu verdin #{osman} ama bu benim pek bir işime yaramıyor."
end
Bu işlem "osman"ın değerine göre "puts" ile ekrana farklı çıktılar yazmaktadır.