*Luaリファレンス 要注意点 ~制御構造~ [#sf56524d]

**repeat~untilと、local変数 [#q0e4729d]
#sh(lua){{
repeat
    local x
until x < 10000
}}
-というようにローカル変数はuntil条件部で使用可能

**数値形式のfor [#ob8e34a9]
#sh(lua){{
for var=exp1, exp2, ex3 do
    …
end
}}
#sh(lua){{
for var=exp1, exp2 do
    …
end
}}
-というようにexp3は省略可能。~
一般のC、Javascript、Perlとは異なり、~
''exp1=初期値、exp2=最大値、exp3=変動値'' なので注意。~

#sh(lua){{
for i=1, 10, 2 do
    print(i)
end 
}}

**ジェネリックfor [#s74b5e56]
#sh(lua){{
for i, v in ipairs(tbl) do -- インデックスと値
end

for k, v in pairs(tbl) do   -- キーと値
end

for k in pairs(tbl) do      -- キーだけ (値は受け取っていないだけ。多重代入だが1つしか受け取っていない。)
end

for _, v in pairs(tbl do    -- キーと値、両方受け取っているが、キーを使う気が無い場合によく利用される書き方。「_」を使うのは、ダミー的に変数を受け取る際の習慣。
end
}}

**forとbreak [#aa14c498]
-C,Perl,Pythonなどと異なり, LUAではbreakを「ブロックの最後]にしか記述出来ない。~
#sh(lua){{
for i=1, 10 do
    break    -- エラー。ブロックの最後じゃないのにbreakしている。

    print(i)
end
}}
-このため、デバッグ時等で、一時的にbreakしてしまいたい場合は、以下のようにブロック化する。
#sh(lua){{
for i=1, 10 do
    do break end    -- OK

    print(i)
end
}}


トップ   差分 履歴 リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS