- 追加された行はこの色です。
- 削除された行はこの色です。
*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は省略可能。
-というように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
}}