Массивы
Это таблицы, некие места, в которых хранятся данные по ключевому типу (об этом позже)
Пример:
Lua:
local box = { 'Карандаш', 'Яблоко', 'Телефон' }
local diary = { 5, 4, 5, 5, 2, 3 }
local speed = { 56.6, 40.7, 60.1, 50 }
local haos = { 'ночь', 23.5, true, nil, 10 }
-- также стоит знать, что сам массив может содержать другие массивы в себе
local wardrobe = { { 'Надеюсь', 'вы', 'поняли' }, { 12, 10, 11 } }
Индексация массивов
Как было сказано ранее: всё, что находится в массиве - имеет свой ключ. Простым языком, имеет определённое место, где находится.
Отсюда:
Lua:
local tabl = { 50, 100 }
-- цифра "50" находится на первом месте
-- цифра "100" на втором
Сам индекс вызывается через использование квадратных скобок. Для полной наглядности, сделаем вышенаписанный код, но с использованием индексов (оба кода будут равны друг другу - одно и то же)
Lua:
local tabl = { [1] = 50, [2] = 100 }
Это поняли. Теперь добавлю, что массив может состоять не только из целочисленных ключей, но и текстовых
Lua:
local x = {
name = 'Вася',
surname = 'Пупкин',
age = 23,
}
-- и не стоит считать что string Вася - это значение индекса "1"
-- у нас вообще нет численных индексов здесь
-- Вася - это значение индекса "name"
Повторно перепишем код, но подробно
Lua:
local x = {
[ 'name' ] = 'Вася',
[ 'surname' ] = 'Пупкин',
[ 'age' ] = 23,
}
Использование массивов
К ним можно обращаться и вводишь новые параметры, благодаря использованию индексов
Lua:
local test = { 20, 5, 4 }
local x = test[ 1 ]
-- записыванием в переменную значение из таблицы, чей ключ равен "1"
-- в нашем случаи, это 20
Lua:
local tabl = { apples = 5, cakes = 2 }
-- к текстовому же ключу можно обращаться двумя способами:
local x = tabl.apples
-- либо
local y = tabl[ 'apples' ]
-- всё зависит от ситуации. Но результат один и тот же
Lua:
local tabl = {}
tabl[ 1 ] = 5
tabl[ 2 ] = 7
-- в итоге, наш массив теперь не пуст
-- на первом месте находится цифра 5, на втором - 7
-- можно считать, что массив выглядит так:
local tabl = { 5, 7 }
Дискорд для связи: DarkFated#2147
Последнее редактирование: