*Luaリファレンス 要注意点 ~スコープ~ [#sf56524d]

**その場でスコープ作成 [#ubc6ab82]
-汎用的に新たなスコープを作りたい場合は、do~end が C++でいう {  } の代わりとなる。
#sh(lua){{
local a2 = 5
do
    local a2 = 2*2
      ...
end
print(a2) --> 5
}}

**スコープとreturn [#ldeea1c7]
-C,Perl,Pythonなどと異なり, LUAではreturnを「ブロックの最後]にしか記述出来ない。
#sh(lua){{
function abc(x)
    return             ---->    エラー。ブロックの最後じゃないのにreturnしている。

    print(x)
end
}}
-このため、デバッグ時等で、一時的にreturnしてしまいたい場合は、以下のようにブロック化する。
#sh(lua){{
function abc(x)
    do return end      ---->    OK。

    print(x)
end
}}


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