Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmCdLO 70 of 373 menu
◀ ▶

Логическое ИЛИ в Rust

Логическое ИЛИ требует выполнения хотя бы одного условия. В Rust его пишут знаком ||. Итог истинен, если хотя бы одна часть истинна. Обе части ложны только тогда, когда каждая из них ложна.

В следующем примере условие выполнится, если переменная num1 больше 0 или переменная num2 больше 0:

let num1 = 10; let num2 = -5; if num1 > 0 || num2 > 0 { println!("Y"); // сработает это } else { println!("N"); }

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

Примем код, если он равен одному из двух чисел:

let code = 2; if code == 1 || code == 2 { println!("allow"); } else { println!("deny"); }

При значении вне списка сработает вторая ветка:

let code = 9; if code == 1 || code == 2 { println!("allow"); } else { println!("deny"); }

Связка && выполняется раньше ||. В следующем примере условие истинно, если num больше нуля и меньше 5 либо больше 10 и меньше 20:

let num = 3; if num > 0 && num < 5 || num > 10 && num < 20 { println!("Y"); // сработает это } else { println!("N"); }

Круглые скобки собирают части в группы и показывают порядок связок. Вокруг всего условия после if их не ставят:

let num = 3; if (num > 0 && num < 5) || (num > 10 && num < 20) { println!("Y"); // сработает это } else { println!("N"); }

Группировку ставят и тогда, когда нужен свой порядок чтения, а не тот, который получается у связок сам.

Дано число:

let day = 6;

Выведите "rest", если day равно 6 или 7, иначе "work".

Дана строка:

let plan = "free";

Выведите "ok" при совпадении с "pro" или "team", иначе "pay".

Скажите, будет ли истинной проверка с ||, если левая часть уже истинна, а правая ложна.

Не запуская код, определите, что выведет программа:

let num1 = -10; let num2 = -10; if num1 >= 0 || num2 >= 0 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num1 = 0; let num2 = 0; if num1 >= 0 || num2 >= 0 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num1 = 0; let num2 = 5; if num1 >= 0 || num2 >= 0 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num1 = 5; let num2 = 5; if num1 >= 0 || num2 >= 0 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num1 = -5; let num2 = 15; if num1 >= 0 || num2 >= 0 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num = 1; if num == 0 || num == 1 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num = 2; if num == 0 || num == 1 { println!("Y"); } else { println!("N"); }

Не запуская код, определите, что выведет программа:

let num = 2; if num == 0 || num == 1 || num == 2 { println!("Y"); } else { println!("N"); }

В приведенном коде укажите приоритет операций скобками:

let num = 3; if num > 5 && num < 10 || num == 20 { println!("Y"); } else { println!("N"); }

В приведенном коде укажите приоритет операций скобками:

let num = 3; if num > 5 || num > 0 && num < 3 { println!("Y"); } else { println!("N"); }

В приведенном коде укажите приоритет операций скобками:

let num = 3; if num == 9 || num > 10 && num < 20 || num > 20 && num < 30 { println!("Y"); } else { println!("N"); }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить