2

C++ から呼び出されたライブラリで Lua (5.2.1) を使用しています。

たとえば、C++ から OnHear 関数を呼び出して、聞いたテキストを渡します。

ただし、私の Lua ファイルでは、奇妙なことを調べました。

function OnHear(_Text)
    txt = _Text;
    txt = string.lower(txt); -- comment this line to make the code below run
-- other code
end

それは動作しません; 「他のコード」は、下の行がコメント化されている場合は正常に実行されますが、実行されている場合は実行されません。

function OnHear(_Text)
    txt = string.lower(_Text);
-- other code 
end

同じ問題...

また、たとえば string.len(txt) またはそのようなものを呼び出すと、同じ問題(後でコードが実行されない)が発生することもわかりました...

何が問題の原因なのかわかりません。悲しいことに、グーグル/検索 Stackkoverflow は役に立ちませんでした...

事前に返信いただきありがとうございます。

4

1 に答える 1

3

C++ から Lua 標準ライブラリを開きましたか?

void luaL_openlibs (lua_State *L);

すべての標準 Lua ライブラリを特定の状態で開きます。

http://www.lua.org/manual/5.2/manual.html#luaL_openlibsから。

編集

バイナリはluaデフォルトでライブラリを開きますが、インタープリターが組み込まれている場合、ライブラリが不要になることがあります。

于 2013-03-19T11:13:14.953 に答える