Принятие решений — это базовый фактор в программировании и человеческой жизни. Они позволяют нам выполнять определенные действия, когда условие соответствует определенной области.
В этом руководстве мы сосредоточимся на том, как реализовать операторы условий на языке программирования Ruby. Используя условные выражения Ruby, мы можем проверить наличие определенного условия и выполнить указанное действие в зависимости от результата.
Самый простой способ принять единственное решение в Ruby — реализовать оператор if.
Оператор if принимает условие и оценивает, истинно оно или ложно. Если это правда, он выполняет решение.
Общий синтаксис оператора if в Ruby:
if condition // do this end
Давайте воспользуемся примером, чтобы показать, как реализовать приведенный выше синтаксис. Например, предположим, что мы продаем билеты в кино только лицам 18 лет и старше, мы можем сделать следующее:
age = 20 if age >= 18 print "Билеты в кино стоят 10 баксов!" end
В нашем примере код возвращает инструкцию:
«Билеты в кино стоят 10 долларов». Начнем с определения переменной, в которой хранится возраст. Затем мы реализуем оператор if, который проверяет, больше ли возраст или равен 18. Если это правда, мы продаем билет в кино; если нет, ничего не делайте.
В приведенном выше примере вы заметите, что мы используем оператор> = для проверки условий. Ruby предоставляет вам несколько условных операторов для оценки различных условий. Эти операторы включают:
Символ оператора | Функциональность |
---|---|
> | Оператор больше проверяет, больше ли значение или выражение слева, чем справа |
< | Оператор меньше чем проверяет, меньше ли значение или выражение слева, чем одно справа |
== | Оператор равенства проверяет, равны ли наборы значений |
>= | Больше или равно |
<= | Меньше или равно |
!= | Не равно и проверяет, не равно ли значение слева значению справа. |
В Ruby мы можем отменить условие, добавив восклицательный знак (!) Перед условием. Это изменит результат условия.
Например:
i = 10 if !(i < 3) print "Привет, я отрицаю!" end
Мы начинаем с определения значения i как 10. Затем мы проверяем, меньше ли 10, чем 3, что дает ложное значение. Однако из-за (!) Условие становится истинным, что приводит к печати строки.
Чтобы реализовать множественную логику, основанную на разных условиях, мы можем использовать операторы If Else. В этом случае, если условие не выполняется, сделайте это.
Давайте возьмем приведенный выше пример с билетами в кино. Если пользователю не исполнилось 18 лет и мы ничего не делаем, это может запутать конечного пользователя.
Давайте реализуем логику, чтобы сообщить пользователю, что ему должно быть не менее 18 лет.
age = 20 if age >= 18 print "Билеты в кино стоят 10 баксов!" else print "Вам должно быть не менее 18 лет!" end
Если мы запустим приведенный выше код, мы должны получить:
> ruby conditionals.rb "Билеты в кино стоят 10 баксов!"
Затем давайте изменим возраст до 18 лет:
age = 17 if age >= 18 print "Билеты в кино стоят 10 баксов!" else print "Вам должно быть не менее 18 лет!" end
Как только мы запустим код, мы должны получить инструкцию:
> ruby conditionals.rb "Вам должно быть не менее 18 лет!"
До этого момента мы проверили только два утверждения. Если возраст больше или равен 18, продайте билет в кино или откажитесь от этого. Однако что, если мы хотим ввести разные цены для разных возрастных категорий?
В этом случае мы можем использовать операторы if..elsif… else. Общий синтаксис для этого:
if (condition) # do elsif condition2 # do elsif condition3 # do elsif conditionN # do else #do
Давайте реализуем вышеуказанную логику в нашем примере билета в кино. В этом примере у нас будет четыре возрастных скобки, как показано в приведенном ниже коде:
Ввод «Введите свой возраст:»
age = gets age = age.to_i if age <= 17 puts "Вы не достигли совершеннолетия для покупки билета" elsif age > 18 && age <= 24 puts "Билеты стоят 10 баксов!" elsif age > 24 && age < 40 puts "Билеты стоят 15 баксов!" else puts "Билеты стоят 20 баксов!" end
В приведенном выше примере мы начинаем с того, что спрашиваем у пользователя его возраст. Затем мы преобразуем ввод в целое число, чтобы выполнить логическое сравнение значения.
Наконец, мы создаем возрастные рамки, оценивая возраст и стоимость билетов.
Вот пример вывода:
Введите свой возраст: 20 Билеты стоят 10 баксов! Введите свой возраст: 5 Вы не достигли совершеннолетия для покупки билета Введите свой возраст: 50 Билеты стоят 20 баксов!
Если нам нужно проверить только одно условие в Ruby, мы можем реализовать однострочный формат следующим образом:
age = 18 puts "Билеты стоят 10 баксов" if age >= 18
Мы можем выразить сказанное выше так: «Если возраст больше или равен 18, выведите следующее».
В этой статье мы обсудили, как реализовать условия if в Ruby.