Menu
Coddy logo textTech

table.concat()

Часть раздела Logic & Flow путешествия по 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 (table): Таблица в стиле списка, содержащая имена папок в виде строк
  • separator (string): Символ или строка, используемая между именами папок (например, "/" или "\\")

Возвращает: Единую строку со всеми папками, соединенными разделителем (string)

Шпаргалка

Функция table.concat() объединяет все элементы таблицы списочного типа в одну строку с использованием разделителя:

local result = table.concat(myTable, separator)

Базовый пример:

local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence)  -- Output: Hello from Lua

Вы можете указать начальную и конечную позиции, чтобы объединить только определенные элементы:

local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial)  -- Output: 2-3-4

Функция работает исключительно с таблицами списочного типа и преобразует каждый элемент в строку перед объединением.

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

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

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

Все уроки раздела Logic & Flow