導入してみた

Lua5.1を導入してみてつまづいたところ一覧

  • lua_dofileが無い

luaL_dofileで解決

  • luaopen_loadlibが無い

luaopen_base以外はluaL_openlibs

  • テーブルをなめるfor文が通らなくなった
local tbl = {1,2,43,56,7,8,}
for i in tbl do
    io.write( "tbl[" .. i .. "]" ..  tbl[i] .. "\n" );
end

上記だとエラーになってしまい通らなくなる

local tbl = {1,2,43,56,7,8,}
for key,val in pairs(tbl) do
    io.write( "tbl[" .. key .. "]" ..  val .. "\n" );
end

pairs関数でくるんであげるとイテレータ関数とか返してくれるらしい。
つまりfor ... in ... do block endはイテレータを明示しないと駄目になったみたい。


まぁわかるけど、別に明示しなくてもいいじゃんね!とも思う。
だってめんどくさいし。明示しなくても意味わかるし。