Главная страница » Ruby » 6. Условные конструкции
Условные конструкции являются важной частью программирования, позволяя управлять выполнением кода в зависимости от выполнения определённых условий. В Ruby основные условные конструкции включают if
, elsif
, else
, unless
, case
, и unless
. В этом уроке мы рассмотрим их использование и особенности.
if
Конструкция if
позволяет выполнять блок кода, если заданное условие истинно.
Пример использования if
:
age = 21
if age >= 18
puts "Вы совершеннолетний."
end
Здесь код внутри блока if
выполняется только если значение переменной age
больше или равно 18.
if-else
Конструкция if-else
используется, когда необходимо выполнить один блок кода, если условие истинно, и другой блок, если условие ложно.
Пример использования if-else
:
age = 16
if age >= 18
puts "Вы совершеннолетний."
else
puts "Вы несовершеннолетний."
end
В этом примере, если возраст меньше 18 лет, будет выполнен код в блоке else
.
if-elsif-else
Когда необходимо проверить несколько условий, используется конструкция if-elsif-else
. Она позволяет проверить несколько условий последовательно.
Пример использования if-elsif-else
:
temperature = 25
if temperature > 30
puts "Очень жарко."
elsif temperature > 20
puts "Тепло."
else
puts "Холодно."
end
В этом примере программа проверяет несколько условий, чтобы определить, какая фраза будет выведена в зависимости от температуры.
unless
Конструкция unless
выполняет блок кода, если условие ложно. Это альтернатива конструкции if
, которая применяется, когда условие инвертируется.
Пример использования unless
:
temperature = 15
unless temperature > 20
puts "Температура ниже 20 градусов."
end
В этом примере блок кода выполняется только если температура не превышает 20 градусов.
case
Конструкция case
используется для проверки значения переменной на соответствие множеству возможных значений. Это удобный способ для выполнения разных действий в зависимости от значения переменной.
Пример использования case
:
day = "Monday"
case day
when "Monday"
puts "Сегодня понедельник."
when "Tuesday"
puts "Сегодня вторник."
else
puts "Сегодня не понедельник и не вторник."
end
Здесь программа проверяет значение переменной day
и выполняет соответствующий блок кода.
elsif
Порядок elsif
имеет значение. Убедитесь, что условия расположены правильно и покрывают все возможные случаи.
Пример ошибки:
temperature = 25
if temperature > 20
puts "Тепло."
elsif temperature > 30
puts "Очень жарко." # Этот блок не будет выполнен
else
puts "Холодно."
end
Здесь условие temperature > 30
никогда не будет проверено, так как оно расположено после temperature > 20
.
unless
При использовании unless
, убедитесь, что условие верное и логическое.
Пример ошибки:
age = 16
unless age >= 18
puts "Вы несовершеннолетний."
else
puts "Вы совершеннолетний."
end
Здесь else
блок будет выполнен только если unless
условие ложно, что может быть непреднамеренным.
Условные конструкции позволяют управлять выполнением кода в зависимости от выполнения условий. Правильное использование if
, unless
, case
и других конструкций помогает писать чистый и эффективный код. Понимание и применение этих конструкций является основой для решения более сложных задач программирования.
Напишите метод grade_message
, который принимает оценку (число от 0 до 100) и возвращает строку с сообщением о том, как хорошо выполнена работа. Используйте case
для проверки оценок:
Напишите метод check_number
, который принимает число и выводит «Число положительное», если число больше нуля, и «Число отрицательное», если число меньше нуля. Используйте unless
для проверки числа.
Пример решения:
def grade_message(score)
case score
when 90..100
"Отлично"
when 70..89
"Хорошо"
when 50..69
"Удовлетворительно"
else
"Неудовлетворительно"
end
end
def check_number(number)
unless number >= 0
puts "Число отрицательное."
else
puts "Число положительное."
end
end
# Примеры вызова методов
puts grade_message(85) # => "Хорошо"
check_number(-5) # => "Число отрицательное."
Проверьте свою программу, чтобы убедиться, что она правильно выполняет все операции и обрабатывает возможные ошибки.
Наша цель и главная задача сделать качественное образование в вашем браузере
Телефон: +375 33 910-08-92
Email: info@codefor.tech
Адрес: г. Барановичи, ул. Пирогова, д. 7
© 2024 Все права защищены. CodeFor.