CSS властивості
ГлавнаяLuaУмовні оператори в Lua

Умовні оператори в Lua

299

Умовні оператори забезпечують виконання певного набору команд під час здійснення однієї чи кількох логічних умов. Зазвичай використовуються для перевірки змінних. Синтаксис наступний:

<code data-language="lua">if <умова> then <код> end

Код виконується лише в тому випадку, якщо задана умова є істинною. Писати при цьому можна як в один рядок, так і розбивати на кілька рядків, це залежить від вашого стилю та зручності сприйняття коду.

За умови можна вставляти змінні та наступні оператори порівняння.

==одно

~=не дорівнює

< менше

<=менше або дорівнює

> більше

>=більше або дорівнює

Наприклад, якщо нам треба перевірити, що змінна f більша за нуль, то використовуємо наступний код.

<code data-language="lua">if f > 0 then--Цей код виконується, якщо тільки f більше за нуль end

Умову допустимо брати в дужки, тому запис нижче ідентичний верхній. Ви самі вибираєте той варіант, який найбільше подобається.

<code data-language="lua">if (f > 0) then--Цей код виконується, якщо тільки f більше нуля end

Для складніших випадків застосовується оператор else, як показано нижче.

<code data-language="lua">if (f > 0) then--Цей код виконується, якщо f більше нуля else--Цей код виконується, якщо f менше або дорівнює нулю,--а також якщо змінна f не є числом end

Коли потрібно зробити перевірку відразу кількох умов, допоможе оператор elseif.

<code data-language="lua">if (оператор=="+") then r=a + b; elseif (оператор=="-") then r=a — b; elseif (operator=="*") then r=a*b; elseif (operator=="/") then r=a/b; else print("Невірний оператор"); end

У цьому прикладі, якщо змінна operator дорівнює "+", складаються змінні a і b, які сума присвоюється r. Подальший код у разі ігнорується. Якщо operator не дорівнює "+", то по черзі перевіряється, чому він дорівнює та виконується відповідна операція. Якщо значення operator не визначено або ми не вказали відповідний варіант, буде виведено текст "Неправильний оператор".

Для складніших умов застосовуються логічні оператори and (І) та or (АБО). Наприклад, треба перевірити, що число N лежить у діапазоні від 0 до 10 включно. Тоді підійде така умова.

<code data-language="lua">if (N >=0 and N <=10) then--щось зробити end

У цьому випадку ми перевіряємо, що N більше або дорівнює 0 і одночасно менше або дорівнює 10. Логічне АБО використовується, коли нам треба вибрати один з варіантів, але ніяк не обидва. Наприклад, треба виконати певний код у разі, якщо x або y дорівнює 5. Тоді код буде наступним.

<code data-language="lua">if (x==5 or y==5) then--щось зробити end