Ruby для новичков: Условные операторы if

Условные операторы позволяют проверять условия и выполнять определённый код в зависимости от результата проверки (истина или ложь). Рассмотрим их использование в 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. Они являются фундаментальными инструментами для управления потоком выполнения программы и написания более сложного и гибкого кода. Выбор подходящего оператора зависит от конкретной задачи.

Что будем искать? Например,программа