Menu
Coddy logo textTech

Логические операторы. Часть 3

Часть раздела Основы путешествия по Ruby на Coddy — урок 19 из 88.

Ruby также предоставляет текстовые альтернативы для логических операторов: and, or и not. Они работают аналогично &&, || и !, но с одним важным отличием: они имеют более низкий приоритет.

true and false   # false (аналогично &&)
true or false    # true (аналогично ||)
not true         # false (аналогично !)

Более низкий приоритет означает, что эти операторы вычисляются после присваивания. Это может привести к неожиданному поведению:

result = true && false   # result — false
result = true and false  # result — true!

Во втором примере сначала происходит присваивание (result = true), затем and false вычисляется, но его результат отбрасывается. Вот почему большинство Ruby-разработчиков предпочитают &&, || и ! для условий.

Словесные версии обычно зарезервированы для ситуаций управления потоком выполнения, с которыми вы столкнетесь позже. На данный момент придерживайтесь символьных операторов (&&, ||, !) при написании условий, чтобы избежать сюрпризов.

challenge icon

Задание

Легко

Вам предоставлены следующие переменные:

a = true
b = false
c = true

Используйте логические операторы на основе слов (and, or, not), чтобы вычислить и вывести следующие выражения, каждое на отдельной строке:

  1. a and b
  2. a or b
  3. not b
  4. a and c
  5. b or c
  6. not a

Каждый результат должен быть либо true, либо false.

Шпаргалка

Ruby предоставляет текстовые альтернативы для логических операторов: and, or и not. Они работают аналогично &&, || и !, но имеют более низкий приоритет.

true and false   # false
true or false    # true
not true         # false

Более низкий приоритет означает, что эти операторы вычисляются после присваивания, что может привести к неожиданному поведению:

result = true && false   # result — false
result = true and false  # result — true!

Во втором примере сначала происходит присваивание (result = true), затем вычисляется and false, но его результат отбрасывается.

Большинство Ruby-разработчиков предпочитают &&, || и ! для условий, чтобы избежать сюрпризов. Текстовые версии обычно резервируются для ситуаций управления потоком выполнения (control flow).

Попробуйте сами

# Переменные предоставлены для вас
a = true
b = false
c = true

# TODO: Напишите свой код ниже
# Используйте логические операторы на основе слов (and, or, not) для вычисления и вывода каждого выражения
# Каждый результат должен быть выведен на отдельной строке
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы