Курс Raku / Розширені / Оператори / Огляд поведінки операторів / Вправи / Ланцюгове порівняння
Розв’язання: Ланцюгове порівняння
Ось один із можливих варіантів розв’язання задачі.
Код
say 0 <= 73 <= 100;🦋 Вихідний код можна знайти у файлі chained-comparison.raku.
Вивід
TrueКоментарі
Оператори порівняння можна об’єднувати в ланцюжки, тож
0 <= 73 <= 100читається як «0 не більше за 73, і 73 не більше за 100». Оператор<=дозволяє краї, тож бал рівно0чи100теж вважався б дійсним.Обидві частини істинні, тож увесь вираз дає
True. Зверніть увагу, що середнє значення73записано лише раз, хоча його порівнюють з обома сусідами.Без можливості будувати ланцюжки довелося б виписати обидва порівняння й з’єднати їх через
&&, повторивши середнє значення:0 <= 73 && 73 <= 100. Ланцюжкова форма каже те саме стисліше.