グリッドの読み取り
CoddyのLuaジャーニー「Luau入門」セクションの一部。レッスン 19/80。
グリッド、ボード、行列は配列の配列であり、型も同じように入れ子になります。{{number}}は、要素が{number}配列である配列です。
local grid: {{number}} = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
}
local board: {{string}} = {
{"white", "black"},
{"black", "white"},
}入れ子のインデックス指定では、一度に1つの階層を読み取ります。grid[2]は2行目({number})で、grid[2][1]はその行の最初の要素、つまり4です。どちらのインデックスも1始まりなので、左上の要素はgrid[0][0]ではなくgrid[1][1]です。
行が存在しない可能性がある場合は注意してください。grid[10]はnilなので、grid[10][1]は実行時エラーを発生させます。nilにインデックスを指定しようとしているためです。
チャレンジ
簡単型付きグリッドから2つのセルを読み取ります。
- 行を
{2, 4, 6}、{8, 10, 12}、{14, 16, 18}として、local gameGrid: {{number}}を宣言します。 - 2行目、1列目のセルを出力します:
gameGrid[2][1]。 - 3行目、3列目のセルを出力します。
Run Codeを押すと、出力に8と18が表示されます。
自分で試してみよう
-- 1) 3行の gameGrid: {{number}} を宣言する
-- 2) 2行目の1列目、次に3行目の3列目を出力する
Luau入門のすべてのレッスン
自分で練習してみよう: Luauオンラインコンパイラ