Luaプログラミングtable構造式
構造式はtableを作成および初期化するための式です.Luaの中で最も一般的で、最も有用なメカニズムの一つです.
最も簡単な構造式は、空tableを作成するための空の構造式{}です.構造式は配列を初期化するためにも使用できます.
ここではdays[1]を文字列「Sunday」、days[2]を「Monday」に初期化する
Luaはまた、tableレコードを初期化する特殊な構文を提供します.
tableを作成した後、フィールドの一部を追加または削除できます.構造式はtable初期化時点でのみ機能する.
tableチェーンテーブルコードの作成:
ネストされた構造式によって、レプリケーションされたデータ構造を表すこともできます.Luaのデフォルトインデックスは1から始まり、本当に0で始まる必要がある場合は、次の方法で実行できます.
最初の値「sunday」のインデックスは0です.このインデックス0は他の要素に影響しません.「Monday」は通常のインデックスが1で、その後の他の値のインデックスが順次増加します.最後の要素の後ろにカンマを書くこともできます.この特性はオプションで合法です.
Luaの構造式ではカンマの代わりにセミコロンを使用することもできます.通常、セミコロンは構造式の異なる成分を区切るために使用されます.
最も簡単な構造式は、空tableを作成するための空の構造式{}です.構造式は配列を初期化するためにも使用できます.
days = {"Sunday","Monday","Thuesday","Wednesday"}
ここではdays[1]を文字列「Sunday」、days[2]を「Monday」に初期化する
Luaはまた、tableレコードを初期化する特殊な構文を提供します.
a = {x = 10 ,y = 20} a = {} a.x = 10 a.y = 20
tableを作成した後、フィールドの一部を追加または削除できます.構造式はtable初期化時点でのみ機能する.
tableチェーンテーブルコードの作成:
list = nil
for line in io.lines () do
list = {next = list, value = line}
end
ネストされた構造式によって、レプリケーションされたデータ構造を表すこともできます.Luaのデフォルトインデックスは1から始まり、本当に0で始まる必要がある場合は、次の方法で実行できます.
days = {[0] = "Sunday","Monday","Thuesday","Wednesday"}
最初の値「sunday」のインデックスは0です.このインデックス0は他の要素に影響しません.「Monday」は通常のインデックスが1で、その後の他の値のインデックスが順次増加します.最後の要素の後ろにカンマを書くこともできます.この特性はオプションで合法です.
Luaの構造式ではカンマの代わりにセミコロンを使用することもできます.通常、セミコロンは構造式の異なる成分を区切るために使用されます.
{x = 10 ,y = 15; "one" , "two" , "three"}