table.concat()
Часть раздела Логика и управление потоком путешествия по Lua на Coddy. Урок 5 из 54.
Иногда нужно объединить все элементы таблицы в стиле списка в одну строку. Lua предоставляет функцию table.concat() специально для этой цели, благодаря чему легко соединять элементы таблицы с выбранным разделителем.
Базовый синтаксис выглядит так:
local result = table.concat(myTable, separator)Вот простой пример со списком слов:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Вывод: Hello from LuaВы также можете управлять тем, какую часть таблицы объединять, указав начальную и конечную позиции в качестве дополнительных аргументов. Это полезно, если вы хотите объединить только определённые элементы:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Вывод: 2-3-4Функция table.concat() работает исключительно с таблицами в виде списков и преобразует каждый элемент в строку перед их объединением.
Задание
ЛегкоНапиши функцию buildPath, которая принимает таблицу folders и строку separator, а возвращает одну строку пути, в которой все папки объединены с помощью разделителя.
Используй table.concat(), чтобы объединить все имена папок в одну строку пути.
Параметры:
folders(таблица): Таблица в виде списка, содержащая имена папок в виде строкseparator(строка): Символ или строка, используемые между именами папок (например,"/"или"\\")
Возвращает: Одну строку, в которой все папки объединены с помощью разделителя (строка)
Попробуйте сами
function buildPath(folders, separator)
-- Напишите код здесь
end
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутая итерация таблиц
Итерация с помощью pairs()Итерация с помощью ipairs()pairs() против ipairs()Повторение — Лист персонажа2Дополнительные функции библиотеки table
table.concat()Создание таблиц и unpack()table.sort()Пользовательская сортировка с помощью функцийИтоги — Таблица рекордовПотренируйтесь самостоятельно: Онлайн-компилятор Lua