Зарегистрируйтесь, чтобы продолжить обучение

Условные конструкции (альтернативные варианты) Ruby

Ruby поддерживает множество видов условных конструкций, которые иногда способны сделать код чуть проще и прямолинейнее. Все они встречаются в реальном коде регулярно.

Тернарный оператор

Работает и выглядит аналогично другим языкам:

# <expr1> ? <expr2> : <expr3>
v = 3 == 4 ? 1 : 0

Постфиксный if

В Ruby if может стоять не только в начале, но и в конце выражений:

do_something() if num.zero?

Подобную форму записи принято использовать тогда, когда все выражение помещается в одну строчку.

Unless

В дополнение к if, в Ruby есть конструкция unless, которая работает в обратную сторону:

# Пока (если) something не zero?
unless something.zero?
  # что-то делаем
end

unless позволяет избавляться от отрицаний, но с ним нужно быть осторожным. Если в предикате используется составное логическое выражение, то unless становится не читаемым:

# Попробуйте осознать этот код
unless a && b
end

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff