Menu
Coddy logo textTech

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() работает исключительно с таблицами в виде списков и преобразует каждый элемент в строку перед их объединением.

challenge icon

Задание

Легко

Напиши функцию buildPath, которая принимает таблицу folders и строку separator, а возвращает одну строку пути, в которой все папки объединены с помощью разделителя.

Используй table.concat(), чтобы объединить все имена папок в одну строку пути.

Параметры:

  • folders (таблица): Таблица в виде списка, содержащая имена папок в виде строк
  • separator (строка): Символ или строка, используемые между именами папок (например, "/" или "\\")

Возвращает: Одну строку, в которой все папки объединены с помощью разделителя (строка)

Попробуйте сами

function buildPath(folders, separator)
    -- Напишите код здесь
end
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Lua