В мире программирования Ruby оператор case — это мощный инструмент, позволяющий принимать решения на основе значения заданного выражения. Он обеспечивает краткий и понятный способ обработки нескольких условий и соответствующего выполнения различных блоков кода. В этой статье блога мы углубимся в оператор Case и рассмотрим его различные применения, попутно предоставляя вам примеры кода и разговорные пояснения.
-
Основной синтаксис:
Давайте начнем с базового синтаксиса оператора case в Ruby:case expression when value1 # Code block executed when expression equals value1 when value2 # Code block executed when expression equals value2 else # Code block executed when expression doesn't match any of the values end -
Простое сопоставление.
Инструкцию case можно использовать для сравнения выражения с несколькими значениями и выполнения соответствующего блока кода:fruit = "apple" case fruit when "apple" puts "It's an apple!" when "banana" puts "It's a banana!" else puts "It's something else!" end -
Сопоставление диапазона.
Вы также можете использовать диапазоны в операторе case, чтобы проверить, попадает ли выражение в определенный диапазон:age = 25 case age when 0..17 puts "You're underage!" when 18..64 puts "You're of working age!" else puts "You're a senior citizen!" end -
Сопоставление с образцом.
В Ruby 2.7 появилось сопоставление с образцом, которое можно использовать в операторе case для сопоставления определенных шаблонов в выражении:email = "john@example.com" case email in /(\w+)@(\w+\.\w+)/ puts "Username: #{$1}, Domain: #{$2}" else puts "Invalid email format!" end -
Объединение условий.
Вы можете комбинировать условия в предложении if с помощью логических операторов (&&, ||) для создания более сложных критериев соответствия:score = 80 case score when 90..100, "A" puts "Excellent!" when 80..89, "B" puts "Good job!" when 70..79, "C" puts "Not bad!" else puts "Try harder!" end
Оператор Case в Ruby — это универсальный инструмент, позволяющий легко обрабатывать множество условий. Мы изучили его базовый синтаксис, простое сопоставление, сопоставление диапазона, сопоставление с образцом и условия объединения. Используя возможности оператора case, вы можете писать более чистый и читаемый код. Так что давайте, попробуйте и улучшите свои навыки программирования на Ruby!