Треки
/
Ruby
Ruby
/
Салабус
/
Умовні конструкції
Ум

Умовні конструкції у Ruby

22 вправи

Про концепцію Умовні конструкції

У Ruby є так звані вирази керування потоком виконання: вони визначають, як виконуватиметься програма, і набувають правдивого або неправдивого значення. Існують оператори, за допомогою яких можна отримати правдиві або неправдиві значення, їх називають операторами порівняння.

Є два основні керівні вирази, які визначають, який код виконається, а який ні. Інакше кажучи, яка саме гілка виконається.

Це if і вираз unless.

Оператори порівняння

Оператори порівняння використовують, щоб порівнювати значення й повертати значення true або false. Наведені нижче оператори вимагають, щоб обидва порівнювані значення були одного типу. Якщо типи значень різняться, компілятор видасть помилку. Ось список операторів і приклади, коли вони повертають true:

Метод Опис Приклад
< менше ніж 4 < 5
<= менше або дорівнює 4 <= 4
> більше ніж 3 > 1
>= більше або дорівнює 2 >= 2

Оператори рівності та нерівності, на відміну від щойно згаданих, можна застосовувати до значень будь-якого типу. Оператор == перевіряє, чи два значення рівні, і це включає також перевірку типу значення. Оператор != працює так само, але повертає true, якщо значення не рівні, і false, якщо вони рівні. Ось список операторів рівності й нерівності та приклади, коли вони повертають true:

Метод Опис Приклад
== дорівнює 4 == 4
!= не дорівнює 5 != 4

Комбінований оператор порівняння

Комбінований оператор порівняння (його ще називають оператором «космічний корабель») - це особливий оператор порівняння. Він особливий тим, що повертає не правдиве чи неправдиве значення, а число. Його записують як <=> і використовують для порівняння двох значень. Він повертає 1, якщо ліве значення більше за праве, -1, якщо ліве значення менше за праве, і 0, якщо значення рівні.

1 <=> 2 # => -1
2 <=> 2 # => 0
3 <=> 2 # => 1

Умовна конструкція if

Конструкцію if використовують, щоб перевірити, чи задана умова «правдива» або «неправдива». Якщо умова правдива, виконається код усередині конструкції if. Конструкція if завершується ключовим словом end.

value = 1
if value == 1
  "1 is equal to 1"
end
# => "1 is equal to 1"

if value > 2
  "1 is greater than 2"
end
# => nil

Конструкція unless

Конструкція unless працює дуже схоже на конструкцію if, але виконує код усередині конструкції unless, якщо умова неправдива.

value = 1
unless value == 1
  "1 is not equal to 1"
end
# => nil

unless value > 2
  "1 is not greater than 2"
end
# => "1 is not greater than 2"

Конструкція else

Конструкцію else можна використовувати разом із конструкцією if. Конструкція else виконається, якщо гілка if не виконалася.

value = 1
if value == 1
  "1 is equal to 1"
else
  "1 is not equal to 1"
end
# => "1 is equal to 1"

if value > 2
  "1 is greater than 2"
else
  "1 is not greater than 2"
end
# => "1 is not greater than 2"

«Каскадні» конструкції if

Конструкцію elsif можна використовувати разом із конструкцією if. Конструкція elsif виконається, якщо гілка if не виконалася, а умова конструкції elsif правдива. Конструкції elsif можна зчіплювати в ланцюжок, і виконається перша правдива умова. Наприкінці конструкції if може бути також конструкція else, яка виконається, якщо жодна з попередніх умов не була правдивою.

value = 1
if value == 0
  "1 is equal to 0"
elsif value > 2
  "1 is greater than 2"
else
  "1 is not equal to 0 and 1 is not greater than 2"
end
# => "1 is not equal to 0 and 1 is not greater than 2"

if і unless як суфікс

Конструкції if і unless можна також використовувати як [суфікс][if-as-suffix]; це зручно, коли потрібно виконати один рядок коду за певної умови. Для цього конструкцію if або unless ставлять після коду, який потрібно виконати.

value = 1
"1 is equal to 1" if value == 1
# => 1 is equal to 1

"1 is not equal to 1" unless value == 1
# => nil
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці

Вивчити концепцію Умовні конструкції

Практика заблокована

Розблокуйте ще 10 вправ, щоб практикувати концепцію Умовні конструкції