Luaリファレンス 要注意点 ~配列~

index番号は"1"から

配列の0からのインデックス

配列の間に"nil"がある場合、#による長さはあてにならない

というように、理解しがたい値が返ってきます。

配列の間に"nil"がある場合、ipairsはそこで終了

配列が空は、「not next (対象テーブル)」と判定

mytable = {};
if not next mytable then
    print "It's empty"
end

関連項目 => table.empty

初期化

配列タイプ(indexタイプ)のテーブルの高速複製は「newtbl = { unpack(oldtbl) }」

--一番良く利用する配列タイプのテーブルのシャロウコピーの場合、関数すら不要です。
local old_tbl = {5,8,"abc", "あいう"}
local new_tbl = { unpack(old_tbl) } -- テーブルをリスト化してテーブルとすることでシャロウコピーとなる。 5.2以降は { table.unpack(old_tbl) }

indexが-5から5の配列を作成

a = {}
for i=-5, 5 do
    a[i] = 0
end

行列と多次元配列

mt = {}                    --行列の作成
for i=1, N do
    mt[i] = {}       --行
    for j=1, M do
        mt[i][j] = 0
    end
end

デフォルトの値を持つテーブル


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS