2013-03-19 72 views
2

我使用Lua(5.2.1),在一個庫中,從C++調用。Lua string.len,string.lower或任何其他字符串函數不工作

例如,從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沒有幫助我,黯然......

感謝提前任何答覆!

回答

3

你從C++打開了Lua標準庫嗎?

void luaL_openlibs (lua_State *L); 

打開所有標準的Lua庫到給定的狀態。

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

EDIT

lua二進制默認打開的庫,但有時,當 解釋器被嵌入,所述文庫可以是多餘的。

+0

非常感謝你,這解決了這個問題:)我不知道這個功能呢...(我覺得啞巴^^) – userrr3 2013-03-19 11:40:33

相關問題