loadbuffer を使用して 2 つの文字列を 1 つの lua_state にロードします。
if( luaL_loadbuffer( L, str.c_str(), str.size(), "line") != 0 )
{
printf( "%s\n", lua_tostring ((lua_State *)L, -1));
}
lua_pcall(L, 0, 0, 0);
if( luaL_loadbuffer( L, str2.c_str(), str2.size(), "line2") != 0 )
{
printf( "%s\n", lua_tostring ((lua_State *)L, -1));
}
lua_pcall(L, 0, 0, 0);
例えば:
function f ()
print( "Hello World!")
end
と
function g ()
f(
end
2 番目の文字列のForgetable)
はエラーをスローします。
[string "line2"]:9: unexpected Symbol
ただし、9はストリング 1 とストリング 2 の行番号です。行番号は 3 のはずです。
loadbuffer を呼び出す前に行番号カウンターをリセットする方法はありますか?