- Регистрация
- 13 Июн 2022
- Сообщения
- 90
- Автор темы
- #1
Всех приветствую на уроке №3 посвященному работой с таблицами.
В прошлом уроке мы разбирали типы данных(number, string, boolean, nil)
В нынешнем уроке мы постараемся разобрать, какие функции существуют у типа данных как "Table".
Для начала работы нам понадобится Компилятор Lua.
Мы можем его скачать(указано в предыдущем уроке), либо же использовать Онлайн-Компиляторы.
Давайте приступим.

1. Заполнение таблицы разными значениями и вывод этих значений.В прошлом уроке мы разбирали типы данных(number, string, boolean, nil)
В нынешнем уроке мы постараемся разобрать, какие функции существуют у типа данных как "Table".
Для начала работы нам понадобится Компилятор Lua.
Мы можем его скачать(указано в предыдущем уроке), либо же использовать Онлайн-Компиляторы.
Давайте приступим.

Зарегистрируем таблицу с названием "tableValue".
Lua:
-- В начало кода
local tableValue = {}
Lua:
local tableValue = {1,2,3}
Lua:
local tableValue = {1,2,3}
print(tableValue)
Так что же делать? Ответ прост. Чтобы вывести элементы >> нам нужно к ним обратиться!
Попробуем вывести 1 и 3 элемент нашей таблицы.
Для этого используем функцию print() и обращение к элементам массива.
Lua:
print(tableValue[1], tableValue[3])
Теперь попробуем заполнить наш массив(таблицу) переменными c разными типами данных.
Пример:
Lua:
local tableValue = {1, 'false', true, 0.44}
Lua:
print(tableValue[2], tableValue[4])
2. Функции для работы с таблицами
>> table.insert(table, element, zstring/integer)
table.insert — вставляет значение в массив по указанной позиции.
Lua:
local value = {1,2,3}
table.insert(value, '4') -- В таблицу "value" записываем значение 4.
print(value[4]) -- Выводим, так как [4] - последнее значение. (1 - первый элемент, 2 - второй элемент, 3 - третий элемент)
-- output: 4
print(table.unpack(value)) -- Обращаемся ко всем элементам массива
-- output: 1 2 3 4
local value = {1,3,4} -- Создаём новую таблицу
table.insert(value, 2, '2') -- В таблицу "value", на место элемента №2 записываем число 2
print(value[2]) -- Обращаемся к элементу под номером 2
-- output: 2
print(table.unpack(value)) -- Обращаемся ко всем элементам массива
-- output: 1 2 3 4
>> table.unpack(table)
table.unpack — распаковывает массив (возвращает все его элементы).
Lua:
local value = {1,2,3} -- создаём массив
print(table.unpack(value))
-- output: 1 2 3
>> table.concat(table, delimiter, elements)
table.concat — объединение элементов массива.
Lua:
local luaValue = {"1","2","3","4","5","6"} -- просто
print(table.concat(luaValue))
-- output : 123456
local luaValue = {"1","2","3","4","5","6"} -- объединение с использованием разделителя
print(table.concat(luaValue,", "))
-- output : 1,2,3,4,5,6
local luaValue = {"1","2","3","4","5","6"} -- объединение на основе индексов
print(table.concat(luaValue,", ", 2,3))
-- output : 2,3
3. Попробуем написать программу, в которой мы сами заполним значения и выведем их через запятую.
Для начала зарегистрируем таблицу "numbers"
Lua:
local numbers = {}
Lua:
table.insert(numbers, '22')
table.insert(numbers, '33')
table.insert(numbers, '44')
table.insert(numbers, '55')
Lua:
print(table.unpack(numbers))
-- output: 22 33 44 55
Lua:
table.insert(numbers, 1, 11)
print(table.unpack(numbers))
-- output: 11 22 33 44 55
Lua:
print(table.concat(numbers, ", "))
-- output: 11, 22, 33, 44, 55