Раздел навигации

Уроки Lua. Работа в Онлайн-Компиляторе. №2 - Работа с таблицами.

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
lua / python developer
Редактор
Регистрация
13 Июн 2022
Сообщения
48
Всех приветствую на уроке №3 посвященному работой с таблицами.
В прошлом уроке мы разбирали типы данных(number, string, boolean, nil)

В нынешнем уроке мы постараемся разобрать, какие функции существуют у типа данных как "Table".

Для начала работы нам понадобится Компилятор Lua.
Мы можем его скачать(указано в предыдущем уроке), либо же использовать Онлайн-Компиляторы.


Давайте приступим.
1679123890933.png
1. Заполнение таблицы разными значениями и вывод этих значений.
Зарегистрируем таблицу с названием "tableValue".
Lua:
-- В начало кода
local tableValue = {}
Заполним таблицу тремя числами
Lua:
local tableValue = {1,2,3}
Теперь с помощью функции print() попробуем вывести числа.
Lua:
local tableValue = {1,2,3}

print(tableValue)
Как вы можете увидеть - числа не вывелись. Вместо этого вывелось значение "table: 0x55b52d484770"(может быть другое).
Так что же делать? Ответ прост. Чтобы вывести элементы >> нам нужно к ним обратиться!
Попробуем вывести 1 и 3 элемент нашей таблицы.
Для этого используем функцию print() и обращение к элементам массива.
Lua:
print(tableValue[1], tableValue[3])
Как мы можем увидеть - нам вывелось 2 числа. Это 1 и 3.



Теперь попробуем заполнить наш массив(таблицу) переменными c разными типами данных.
Пример:
Lua:
local tableValue = {1, 'false', true, 0.44}
Выведем 2 и 4 элемент нашего массива.
Lua:
print(tableValue[2], tableValue[4])
Мы видим, что у нас вывелось >> false 0.44 << Значит мы всё сделали верно.



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 = {}
Теперь с помощью функции "table.insert" запишем 4 значения.
Lua:
table.insert(numbers, '22')
table.insert(numbers, '33')
table.insert(numbers, '44')
table.insert(numbers, '55')
Выведем нашу таблицу с помощью функции "table.unpack":
Lua:
print(table.unpack(numbers))
-- output: 22 33 44 55
Теперь добавим значение "11" на первый элемент. ( Соответственно, значение "22" перейдёт на элемент под номером 2)
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




1679126178221.png


На этом наш урок по таблицам подошёл к концу.
Удачи в изучении прекрасного языка Lua.





 

Вложения

  • 1679124939417.png
    1679124939417.png
    6.9 KB · Просмотры: 4
  • 1679125181545.png
    1679125181545.png
    104 KB · Просмотры: 4
Новичок
Пользователь
Регистрация
15 Май 2023
Сообщения
1
Мдя , Грустновато как-то !!!!!!!!!!!!!
 
Сверху