table.concat()
Coddy'nin Lua Journey'sinin Logic & Flow bölümünün bir parçası — ders 5 / 54.
Bazen bir liste stilindeki tablodaki tüm öğeleri tek bir dize içinde birleştirmeniz gerekir. Lua, özellikle bu amaç için table.concat() işlevini sağlar ve tablo öğelerini seçtiğiniz bir ayırıcı ile birleştirmeyi kolaylaştırır.
Temel sözdizimi şu şekildedir:
local result = table.concat(myTable, separator)İşte kelime listesi içeren basit bir örnek:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Çıktı: Hello from LuaEk argümanlar olarak başlangıç ve bitiş konumlarını sağlayarak tablonun hangi kısmının birleştirileceğini de kontrol edebilirsiniz. Bu, yalnızca belirli öğeleri birleştirmek istediğinizde kullanışlıdır:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Çıktı: 2-3-4table.concat() fonksiyonu yalnızca liste stili tablolarla çalışır ve öğeleri birleştirmeden önce her birini bir dizeye dönüştürür.
Görev
KolayBir folders tablosu ve bir separator dizesi alan ve tüm klasörlerin ayırıcı ile birleştirildiği tek bir yol dizesi döndüren bir buildPath fonksiyonu yazın.
Tüm klasör adlarını tek bir yol dizesinde birleştirmek için table.concat() kullanın.
Parametreler:
folders(table): Klasör adlarını dize olarak içeren liste stilinde bir tabloseparator(string): Klasör adları arasında kullanılacak karakter veya dize (örneğin,"/"veya"\\")
Döndürür: Tüm klasörlerin ayırıcı ile birleştirildiği tek bir dize (string)
Kopya kağıdı
table.concat() fonksiyonu, liste stilindeki bir tablodaki tüm öğeleri bir ayırıcı ile tek bir dize (string) halinde birleştirir:
local result = table.concat(myTable, separator)Temel örnek:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Çıktı: Hello from LuaSadece belirli öğeleri birleştirmek için başlangıç ve bitiş konumlarını belirtebilirsiniz:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Çıktı: 2-3-4Bu fonksiyon yalnızca liste stilindeki tablolarla çalışır ve birleştirmeden önce her öğeyi bir dizeye dönüştürür.
Kendin dene
function buildPath(folders, separator)
-- Kodunuzu buraya yazın
end
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Logic & Flow bölümündeki tüm dersler
1İleri Düzey Tablo Yineleme
pairs() ile Yinelemeipairs() ile Yinelemepairs() vs. ipairs()Özet - Karakter Sayfası2Daha Fazla Tablo Kütüphanesi Fonksiyonu
table.concat()Tablo Oluşturma ve unpack()table.sort()Fonksiyonlar ile Özel SıralamaÖzet - Yüksek Skor Tablosu