2.1 Основы синтаксиса

Lua предлагает простой и понятный синтаксис. Например, условные операторы позволяют проверять условия и выполнять соответствующие действия:


local item1 = "Fruit"
local item2 = "Vegetable"
if item1 == "Fruit" and item2 == "Fruit" then
    print("Both fruit.") --No output as requirements not met.
end
            

Задание: Измените код так, чтобы условие выполнялось и выводилось "Both fruit.". Попробуйте подумать, что нужно поменять!

Подсказка: Измените значение item2 на "Fruit", чтобы оба условия стали истинными.


-- Изменённый код
local item1 = "Fruit"
*Здесь нужно подумать*
if item1 == "Fruit" and item2 == "Fruit" then
    print("Both fruit.") -- Output: Both fruit.
end
            

Дополнительное задание: Добавьте ещё одно условие для проверки, что item1 и item2 не равны "Vegetable". Выведите сообщение "Only fruit allowed.".


-- Ваш код здесь
local item1 = "Fruit"
local item2 = "Fruit"
if item1 == "Fruit" and item2 == "Fruit" and item1 ~= "Vegetable" and item2 ~= "Vegetable" then
    print("Only fruit allowed.")
end
            

2.2 Задания

Попробуйте выполнить следующие задания, чтобы лучше понять синтаксис Lua:

  1. Напишите условие, которое проверяет, равен ли number1 значению 10 и number2 значению 20. Если условие выполняется, выведите "Numbers match!".
  2. 
    -- Ваш код здесь
    local number1 = 10
    local number2 = 20
    if number1 == 10 and number2 == 20 then
        print("Numbers match!")
    end
                    

    Дополнительное задание: Добавьте проверку, что number1 больше 5 и number2 меньше 25. Выведите сообщение "Numbers are in range!".

    
    -- Ваш код здесь
    local number1 = 10
    local number2 = 20
    if number1 > 5 and number2 < 25 then
        print("Numbers are in range!")
    end
                    
  3. Напишите цикл, который выводит числа от 1 до 5.
  4. 
    -- Ваш код здесь
    for i = 1, 5 do
        print(i)
    end
                    

    Дополнительное задание: Измените цикл так, чтобы он выводил только нечётные числа в диапазоне от 1 до 10.

    
    -- Ваш код здесь
    for i = 1, 10, 2 do
        print(i)
    end
                    
  5. Создайте таблицу (массив) с тремя именами и выведите их с помощью цикла.
  6. 
    -- Ваш код здесь
    local names = {"Alice", "Bob", "Charlie"}
    for i, name in ipairs(names) do
        print(name)
    end
                    

    Дополнительное задание: Добавьте ещё одно имя в таблицу и выведите только те имена, которые начинаются с буквы "A".

    
    -- Ваш код здесь
    local names = {"Alice", "Bob", "Charlie", "Anna"}
    for i, name in ipairs(names) do
        if name:sub(1, 1) == "A" then
            print(name)
        end
    end