Статья [DF] Изучение Glua #4

  • 213
  • 16
  • 69

Условие


В повсеместной жизни мы часто стоим перед выбором. Сделать это или сделать это. Будет хорошая погода, пойду гулять, иначе буду сидеть дома. Это существует и в программировании

Пример:
Lua:
local x = 8
local y = 4
local text -- объявил то, что это переменная является локальной (если подробнее, то сейчас она равна ничему - nil)

if ( x == y ) then
    text = 'X равен Y'
else
    text = 'X не равен Y'
end

-- по итогу, смотря от какого значения наших переменных x и y, переменная text будет иметь разные значения
Lua:
local z = 10

if ( z == 10 ) then
    -- что-то происходит
end

-- самое простое условие. Если переменная z равна 10, то что-то происходит. В ином случаи, ничего не происходит

В условии выполняются сравнительные и логические операции, результат которых равен true или false. Отсюда, выполняется содержание условия или нет
Про операции вы можете прочитать тут

Бывают многослойные условия, это когда при неудачном выполнении первой части условия, у нас идёт вторая часть условие. Если ничего из этого выполняется неудачно (равно false), то идёт другое и т.д.

Пример:
Lua:
local x = 6
local y = 6
local text

if ( x > y ) then
    text = 'X > Y'
elseif ( x < y ) then
    text = 'X < Y'
else
    text = 'X = Y'
end
Если x больше y, тогда выполняется содержание первого части условия, иначе если x меньше y, тогда выполняется содержание второй части условия. А если обе части условия неверны, то от безысходности выполняется последняя часть кода условия

Тема максимально простая, требует лишь повторения, после чего при написания кода, вы уже будите автоматические мыслить как и какое сделать условие

Тестовое задание

У нас есть три переменных: a, b, c. Первые две переменные равны любому числу, третье равно 0. Сделать условие, при котором если a равна половине b, то к переменной c прибавляется 10, иначе из c вычитается 10

P.S. Чтобы сделать прибавление или вычитание, нужно переменной присвоить себя же, но на 10 больше или меньше (плюс или минус)

Lua:
local a = 6
local b = 12
local c = 0

if ( a == b / 2 ) then
    c = c + 10
else
    c = c - 10
end

Дискорд для связи: DarkFated#2147
 
Сверху Снизу