table.concat()
Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 5 de 54.
Às vezes, você precisa combinar todos os elementos de uma tabela do tipo lista em uma única string. Lua fornece a função table.concat() especificamente para esse propósito, facilitando a junção de elementos da tabela com um separador de sua escolha.
A sintaxe básica é a seguinte:
local result = table.concat(myTable, separator)Aqui está um exemplo simples com uma lista de palavras:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Saída: Hello from LuaVocê também pode controlar qual parte da tabela concatenar fornecendo as posições inicial e final como argumentos adicionais. Isso é útil quando você deseja combinar apenas elementos específicos:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Saída: 2-3-4A função table.concat() funciona exclusivamente com tabelas do tipo lista e converte cada elemento em uma string antes de juntá-los.
Desafio
FácilEscreva uma função buildPath que recebe uma tabela folders e uma string separator, e retorna uma única string de caminho com todas as pastas unidas pelo separador.
Use table.concat() para combinar todos os nomes de pastas em uma única string de caminho.
Parâmetros:
folders(tabela): Uma tabela do tipo lista contendo nomes de pastas como stringsseparator(string): O caractere ou string a ser usado entre os nomes das pastas (ex:"/"ou"\\")
Retorna: Uma única string com todas as pastas unidas pelo separador (string)
Folha de consulta
A função table.concat() combina todos os elementos em uma tabela do tipo lista em uma única string com um separador:
local result = table.concat(myTable, separator)Exemplo básico:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Saída: Hello from LuaVocê pode especificar as posições inicial e final para juntar apenas elementos específicos:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Saída: 2-3-4A função funciona exclusivamente com tabelas do tipo lista e converte cada elemento em uma string antes de juntar.
Experimente você mesmo
function buildPath(folders, separator)
-- Escreva o código aqui
end
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Logic & Flow
1Iteração Avançada de Tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de Personagem2Mais Funções da Biblioteca Table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRecapitulação - Placar de recordes