Исследование возможностей Ruby Case Statement: универсальный инструмент в вашем программном арсенале

В мире программирования Ruby оператор case — это мощный инструмент, позволяющий принимать решения на основе значения заданного выражения. Он обеспечивает краткий и понятный способ обработки нескольких условий и соответствующего выполнения различных блоков кода. В этой статье блога мы углубимся в оператор Case и рассмотрим его различные применения, попутно предоставляя вам примеры кода и разговорные пояснения.

  1. Основной синтаксис:
    Давайте начнем с базового синтаксиса оператора 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
  2. Простое сопоставление.
    Инструкцию 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
  3. Сопоставление диапазона.
    Вы также можете использовать диапазоны в операторе 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
  4. Сопоставление с образцом.
    В 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
  5. Объединение условий.
    Вы можете комбинировать условия в предложении 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!