Menu
Coddy logo textTech

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-4

table.concat()関数は、リスト形式のテーブルに対してのみ動作し、各要素を文字列に変換してから結合します。

challenge icon

チャレンジ

簡単

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
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Logic & Flowのすべてのレッスン