Announcement

Collapse
No announcement yet.

основы lua

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    основы lua

    Доброго времени суток, друзья!
    В данной теме я хотел бы вам объяснить основы языка LUA для разработки.
    Итак, начнем с основ.
    Что такое LUA?
    Lua — скриптовый язык программирования, разработанный в подразделении Tecgraf Католического университета Рио-де-Жанейро.
    Интерпретатор языка является свободно распространяемым, с открытыми исходными текстами на языке Си

    Основы LUA. Переменные
    В LUA используются нетипизированный вид переменных. Это значит, что объявляя переменную не нужно указывать её тип, как например в C#.
    Достаточно просто написать следующий код:

    Code:
    x = 10 --Объявление переменной
    print(x) --Вывод переменной в консоль
    Например, у нас есть 3 переменных и мы хотим их вывести в консоль. Достаточно написать такой код.

    Code:
    x = 10
    y = 15
    z = 20
    print(x,y,z) --выведет 10 15 20
    Несмотря на то, что переменные у нас нетипизированные, у них все равно есть типы.
    Code:
    a = 123 -- переменная a имеет тип number
    a = "123" -- теперь переменная a имеет тип string
    a = true -- теперь переменная a имеет тип boolean
    a = {} -- теперь переменная a имеет тип table

    #2
    Я когда то своему товарищу объяснял про язык, может пригодится новичкам, держите


    Code:
    -- Однострочный комментарий
    Code:
    --[[ Многострочный комментарий ]]
    Code:
    --[[
    
    Многострочный комментарий
    
    ]]


    Переменные и типы данных

    Переменная объявляется со слова на английском языке, оно не должно иметь пробелов или символов / # @ \ & ? * =


    Глобальная переменная
    Code:
    variable = nil
    Локальная переменная
    Code:
    local variable = nil
    Переменная с числом (number)
    Code:
    local variable = 1
    -- Переменная со строкой (string)
    Code:
    local variable = "Мы пишем lua код"
    Переменная с многострочной строкой (string)
    Code:
    local variable = [[
    string1
    string2
    string3
    ]]
    -- Переменная с функцией (function)
    Code:
    local variable = function() end
    -- Переменная с истиной
    Code:
    local variable = true -- истина (boolean)
    -- Переменная с ложью
    Code:
    local variable = false -- ложь (boolean)
    -- Переменная с пустым значением (null)
    Code:
    local variable = nil


    Чтобы узнать тип данных переменной мы можем использовать lua функцию type(), например:

    Code:
    local variable= 100
    type(variable) выдаст "number"

    Code:
    local variable = "100"
    type(variable) выдаст "string"

    Code:
    local variable = function() end
    type(variable) выдаст "function"

    Code:
    local variable = true
    type(variable) выдаст "boolean"

    Code:
    local variable = nil
    type(variable) выдаст "nil"


    Математические операции:
    Code:
    x + y - сложение
    x - y - вычетание
    -x - унарный минус
    x * y - умножение
    x / y - деление
    x % y - деление по модулю
    Операции сравнения:
    Code:
    a == b - равенство
    a ~= b - неравенство
    a > b - больше
    a < b - меньше
    a >= b - больше равно
    a <= b - меньше равно

    Конкатенация строк:
    Code:
    a = "string1"
    b = "string2"
    newString = a .. b

    Получение размера таблицы
    Code:
    count = #table


    -- Операторы

    and -- и
    or -- или
    if -- условный оператор "если"
    elseif -- условный оператор "иначе если"
    then -- тогда

    break -- прервать (цикл)
    return -- оператор возврата результат функции
    while -- оператор цикла с предусловием
    repeat -- оператор цикла с постусловием
    for -- оператор цикла


    Циклы

    Code:
    while <condition> do
    -- тело цикла
    -- пока <condition> истинно выполняет тело цикла
    -- сперва идет проверка условия, после чего выполняется цикл
    end
    Code:
    repeat
    -- тело цикла
    -- тело цикла выполняется до тех пор, пока условие <condition> не станет истинным
    until <condition>
    Code:
    -- цикл от 1 до 10
    for i=1, 10 do
    
    end
    Code:
    -- цикл по всем ключам таблицы
    for k, v in pairs(Table) do
    
    end
    Code:
    -- цикл по числовым ключам таблицы от 1 до бесконечности
    for k, v in ipairs(Table) do
    
    end
    -- цикл прервется если будет отсутствовать ключ в порядке, например между 4 и 6, не будет хватать 5

    -- Таблицы. Нижеперечисленное идентично друг другу.

    Таблицы используются для манипуляций с данными, их хранения, замещая собой массивы из большинства языков программирования

    Code:
    Table = {}
    Table.Key = "Значение"
    Table["Key"] = "Значение"
    Table = { Key = "Значение" }

    Comment

    Working...
    X