table.concat()
CoddyのLuaジャーニー「Logic & Flow」セクションの一部 — レッスン 5/54。
リスト形式のテーブル内のすべての要素を1つの文字列に結合する必要がある場合があります。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-4table.concat()関数は、リスト形式のテーブルに対してのみ動作し、各要素を文字列に変換してから結合します。
チャレンジ
簡単foldersテーブルとseparator文字列を受け取り、すべてのフォルダをセパレータで結合した単一のパス文字列を返す関数buildPathを作成してください。
table.concat()を使用して、すべてのフォルダ名を単一のパス文字列に結合します。
引数:
folders(table): フォルダ名を文字列として格納したリスト形式のテーブルseparator(string): フォルダ名の間に使用する文字または文字列 (例:"/"や"\\")
戻り値: すべてのフォルダをセパレータで結合した単一の文字列 (string)
チートシート
table.concat()関数は、リスト形式のテーブル内のすべての要素を、区切り文字を使用して1つの文字列に結合します:
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この関数はリスト形式のテーブルに対してのみ機能し、結合する前に各要素を文字列に変換します。
自分で試してみよう
function buildPath(folders, separator)
-- ここにコードを書いてください
end
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。