Menu
CoddyTech

table.unpack

CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 21/80。

配列に値が入っていても、それらを個別の値として使いたいことがあります。たとえば、各要素をそれぞれ独立した引数として渡す場合です。そんなときに使うのがtable.unpackです。配列の要素をすべて展開して返します。

local scores: {number} = {85, 92, 78}
print(table.unpack(scores))           -- 85  92  78 (1行)
print(math.max(table.unpack(scores))) -- 92

printは3つの引数を受け取るため、タブで区切って1行に出力します。math.maxが必要とするのは配列ではなく個別の数値なので、展開することでこの呼び出しが機能します。

table.unpackは配列を変更せずに読み取ります。逆に、...を使って任意の数の引数を受け取る関数については、次の章の「可変長引数関数」のレッスンで学びます。

challenge icon

チャレンジ

簡単

スコアの配列を個別の値に展開します。

  1. local scores: {number} = {64, 88, 71}を宣言します。
  2. table.unpack(scores)を出力します。
  3. math.max(table.unpack(scores))を出力します。

コードを実行を押します。出力には、1行目に64 88 71、その次に88が表示されます。

自分で試してみよう

-- 1) scores: {number} = {64, 88, 71} を宣言する
-- 2) 展開した scores を出力し、次にその math.max を出力する

Luau入門のすべてのレッスン

自分で練習してみよう: Luauオンラインコンパイラ