Условные операторы позволяют проверять условия и выполнять определённый код в зависимости от результата проверки (истина или ложь). Рассмотрим их использование в Ruby.
Создание простых условий с if
Создадим две переменные:
x = 8
y = 12
Теперь создадим условный оператор if:
if x < y
puts "x меньше y"
end
Если условие x < y истинно (x меньше y), то выполнится код внутри if – выведется строка «x меньше y». В данном случае условие истинно, и строка выведется. Если условие ложно (например, if x > y), код внутри if не выполнится.
Операторы сравнения
Можно использовать следующие операторы сравнения:
- > (больше)
- < (меньше)
- <= (меньше или равно)
- >= (больше или равно)
- == (равно)
- != (не равно)
Примеры:
if x == y
puts "x равно y"
end
if x != y
puts "x не равно y"
end
Работа с булевыми переменными
Создадим булеву переменную:
is_small = true
Проверим её значение:
if is_small == true
puts "is_small равно true"
end
Запись можно упростить:
if is_small
puts "is_small равно true"
end
Или проверить на ложь:
if !is_small
puts "is_small равно false"
end
Объединение условий
Можно объединять условия с помощью логических операторов && (И) и || (ИЛИ):
if is_small && x == 8
puts "окей"
end
if is_small || x == 15
puts "окей"
end
Условие с && истинно только если оба условия истинны. Условие с || истинно, если хотя бы одно из условий истинно.
Условный оператор else
Если условие в if ложно, можно использовать else для выполнения другого кода:
if x < y
puts "x меньше y"
else
puts "x больше или равно y"
end
Условный оператор elsif
Для проверки нескольких условий можно использовать elsif:
if x < y
puts "x меньше y"
elsif x == y
puts "x равно y"
else
puts "x больше y"
end
Вложенные условные операторы
Внутри условных операторов можно использовать другие условные операторы:
if x > 12
puts "x больше 12"
if x == 23
puts "x равен 23"
puts "123"
end
end
Оператор case
Оператор case удобен для проверки переменной на несколько значений:
def day_of_week(day)
name_of_day = ""
case day
when 1
name_of_day = "понедельник"
when 2
name_of_day = "вторник"
when 3
name_of_day = "среда"
when 4
name_of_day = "четверг"
when 5
name_of_day = "пятница"
when 6
name_of_day = "суббота"
when 7
name_of_day = "воскресенье"
else
name_of_day = "неверное значение"
end
return name_of_day
end
puts day_of_week(4) # Выведет "четверг"
puts day_of_week(58) # Выведет "неверное значение"
Оператор case более компактен и читабелен, чем множество if/elsif/else для проверки одного значения на несколько вариантов.
В этом уроке мы изучили основные условные операторы в Ruby: if, else, elsif и case. Они являются фундаментальными инструментами для управления потоком выполнения программы и написания более сложного и гибкого кода. Выбор подходящего оператора зависит от конкретной задачи.