Лучшее руководство по переменные Lua в 2024 году. В этом руководстве вы можете изучить присваивание,индекс,
Переменные перед использованием, должны быть объявлены в коде, который создал переменную.
Перед выполнением кода компилятор компилятор должен знать, как открыть область памяти переменных заявление для хранения значения переменной.
Lua переменные Есть три типа: глобальные переменные, локальные переменные, поля таблиц.
Lua переменные во всех глобальных переменных, или даже блок операторов в функции, с локальным, если явно не объявлена как локальная переменная.
Область локальных переменных, чтобы начать с позиции, где конец блока операторов.
Значения по умолчанию переменных равны нулю.
-- test.lua 文件脚本 a = 5 -- 全局变量 local b = 5 -- 局部变量 function joke() c = 5 -- 全局变量 local d = 6 -- 局部变量 end joke() print(c,d) --> 5 nil do local a = 6 -- 局部变量 b = 6 -- 全局变量 print(a,b); --> 6 6 end print(a,b) --> 5 6
Выполните приведенный выше пример выход:
$ lua test.lua 5 nil 6 6 5 6
Назначение является изменение значения переменной и изменения основного поля таблицы методов.
a = "hello" ru "world" t.n = t.n + 1Луа может назначить несколько переменных одновременно, список переменных и список значений для каждого из элементов, разделенных запятой, значение правой части оператора присваивания, в свою очередь, присвоенного переменной слева.
a, b = 10, 2*x <--> a=10; b=2*x
Lua столкнулся назначение будет сначала вычислить все значения вправо, а затем выполнить задание, поэтому мы можем обменять значение этой переменной были:
x, y = y, x -- swap 'x' for 'y' a[i], a[j] = a[j], a[i] -- swap 'a[i]' for 'a[j]'
Когда число числа переменных и их значений противоречивы, Lua будет число переменных было принято на основе следующих стратегий:
a. 变量个数 > 值的个数 按变量个数补足nil b. 变量个数 < 值的个数 多余的值会被忽略
Например:
a, b, c = 0, 1 print(a,b,c) --> 0 1 nil a, b = a+1, b+1, b+2 -- value of b+2 is ignored print(a,b) --> 1 2 a, b, c = 0 print(a,b,c) --> 0 nil nil
Последний пример выше является общим условия ошибки Примечание: Если вы хотите назначить несколько переменных должны быть последовательно назначены каждой переменной.
a, b, c = 0, 0, 0 print(a,b,c) --> 0 0 0
Чаще используется для обмена присвоение переменной значения или вызов функции, чтобы вернуться к переменной:
a, b = f()
е () возвращает два значения, первое относится к а, второй назначается б.
Должна быть предусмотрена возможность использовать локальные переменные, есть два преимущества:
Индекс таблицы, используя квадратные скобки []. Lua также обеспечивает функционирование.
t[i] t.i -- 当索引为字符串类型时的一种简化写法 gettable_event(t,i) -- 采用索引访问本质上是一个类似这样的函数调用
Например:
> site = {} > site["key"] = "www.w3cschool.cc" > print(site["key"]) www.w3cschool.cc > print(site.key) www.w3cschool.cc