Раздел: CronosPRO Дата редакции: 10.07.2013 id статьи: 1523

Условный оператор (if) в Lua

Оператор if проверяет истинность заданного условия. Если условие является истинным, выполняется часть кода, следующая за ключевым словом then (секция then). В противном случае, выполняется код, следующий за ключевым словом else (секция else).
if a > b then
   return a -- если a больше b, вернуть a
else
   return b -- в противном случае - вернуть b
end
Секция else является необязательной.
if a < 0 then
   a = 0 -- если a меньше 0, присвоить a значение 0
end
Вместо вложенных операторов if можно использовать конструкцию elseif. Например, приведенный код:
if a == 1 then
   return "Иван" -- если a равно 1
else
   if a == 2 then
     return "Петр" -- если a равно 2
   else
      if a == 3 then
         return "Сергей" -- если a равно 3
      else
         return "Нет такого игрока" -- если a - ни одно из перечисленных
      end
   end
end
будет проще для восприятия, если заменить его следующим:
if a == 1 then
   return "Иван" -- если a равно 1
elseif a == 2 then
   return "Петр" -- если a равно 2
elseif a == 3 then
   return "Сергей" -- если a равно 3
else
   return "Нет такого игрока" -- если a - ни одно из перечисленных
end