table.concat()
Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 5 z 54.
Czasami trzeba połączyć wszystkie elementy w tabeli listowej w jeden ciąg znaków. Lua udostępnia do tego celu funkcję table.concat(), dzięki której można łatwo łączyć elementy tabeli za pomocą wybranego separatora.
Podstawowa składnia wygląda tak:
local result = table.concat(myTable, separator)Oto prosty przykład z listą słów:
local words = {"Hello", "from", "Lua"}
local sentence = table.concat(words, " ")
print(sentence) -- Wynik: Hello from LuaMożesz też określić, którą część tablicy połączyć, podając pozycje początkową i końcową jako dodatkowe argumenty. Jest to przydatne, gdy chcesz połączyć tylko wybrane elementy:
local numbers = {"1", "2", "3", "4", "5"}
local partial = table.concat(numbers, "-", 2, 4)
print(partial) -- Wynik: 2-3-4Funkcja table.concat() działa wyłącznie z tablicami w stylu listy i konwertuje każdy element na ciąg znaków przed ich połączeniem.
Wyzwanie
ŁatwyNapisz funkcję buildPath, która przyjmuje tablicę folders i ciąg znaków separator, a następnie zwraca pojedynczy ciąg ścieżki, w którym wszystkie foldery są połączone separatorem.
Użyj table.concat(), aby połączyć wszystkie nazwy folderów w pojedynczy ciąg ścieżki.
Parametry:
folders(table): Tablica w stylu listy zawierająca nazwy folderów jako ciągi znakówseparator(string): Znak lub ciąg znaków używany między nazwami folderów (np."/"lub"\\")
Zwraca: Pojedynczy ciąg znaków zawierający wszystkie foldery połączone separatorem (string)
Spróbuj swoich sił
function buildPath(folders, separator)
-- Napisz kod tutaj
end
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane iterowanie po tabelach
Iterowanie za pomocą pairs()Iterowanie za pomocą ipairs()pairs() a ipairs()Powtórka — karta postaci2Więcej funkcji biblioteki table
table.concat()Tworzenie tabel i unpack()table.sort()Sortowanie niestandardowe za pomocą funkcjiPodsumowanie — tablica najlepszych wyników5Projekt: silnik tekstowej gry przygodowej
Konfiguracja projektu: pokójŁączenie pokoiPoćwicz samodzielnie: Kompilator Lua online