Условные операторы обеспечивают выполнение определённого набора команд при осуществлении одного или нескольких логических условий. Обычно применяются для проверки переменных. Синтаксис следующий:
if <условие> then
<код>
end
Код выполняется только в том случае, если заданное условие истинно. Писать при этом можно как в одну строку, так и разбивать на несколько строк, это зависит от вашего стиля и удобства восприятия кода.
В условие можно вставлять переменные и следующие операторы сравнения.
== равно
~= не равно
< меньше
<= меньше или равно
> больше
>= больше или равно
Например, если нам надо проверить, что переменная f больше нуля, то используем следующий код.
if f > 0 then
-- Этот код исполняется, если только f больше нуля
end
Условие допустимо брать в скобки, поэтому запись ниже идентична верхней. Вы сами выбираете тот вариант, который больше нравится.
if (f > 0) then
-- Этот код исполняется, если только f больше нуля
end
Для более сложных случаев применяется оператор else, как показано ниже.
if (f > 0) then
-- Этот код исполняется, если только f больше нуля
else
-- Этот код исполняется, если f меньше или равен нулю,
-- а также если переменная f не является числом
end
Когда требуется сделать проверку сразу нескольких условий, поможет оператор elseif.
if (operator == "+") then r = a + b;
elseif (operator == "-") 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 включительно. Тогда подойдёт следующее условие.
if (N >= 0 and N <= 10) then
-- что-то сделать
end
В данном случае мы проверяем, что N больше или равен 0 и одновременно меньше или равен 10.
Логическое ИЛИ используется, когда нам надо выбрать один из вариантов, но никак не оба. Например, надо выполнить некоторый код в случае, если x или y равен 5. Тогда код будет следующий.
if (x== 5 or y == 5) then
-- что-то сделать
end