table.concat()
Coddy'nin Lua Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 5 / 54.
Bazen liste tarzı bir tablodaki tüm öğeleri tek bir dizede birleştirmeniz gerekir. Lua, bu amaç için özel olarak table.concat() işlevini sağlar ve tablo öğelerini seçtiğiniz bir ayırıcıyla birleştirmeyi kolaylaştırır.
Temel sözdizimi şöyledir:
local result = table.concat(myTable, separator)İşte bir kelime listesi içeren basit bir örnek:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Çıktı: Hello from LuaBaşlangıç ve bitiş konumlarını ek bağımsız değişkenler olarak sağlayarak tablonun hangi bölümünün birleştirileceğini de denetleyebilirsiniz. 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() işlevi yalnızca liste tarzı tablolarla çalışır ve bunları birleştirmeden önce her öğeyi bir dizeye dönüştürür.
Görev
KolayBir folders tablosu ve bir separator dizesi alan ve tüm klasörleri ayırıcıyla birleştirerek tek bir yol dizesi döndüren bir buildPath işlevi 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ı dizeler olarak içeren liste biçimli bir tabloseparator(string): Klasör adları arasında kullanılacak karakter veya dize (ör."/"veya"\\")
Döndürür: Ayırıcıyla birleştirilmiş tüm klasörleri içeren tek bir dize (string)
Kendin dene
function buildPath(folders, separator)
-- Buraya kod yazın
end
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış 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 TablosuKendi başına pratik yap: Online Lua derleyicisi