我有一個非常奇怪的問題與我的C++項目的Lua實現。出於某種原因,它不允許包含#
,:
,%
(以及更重要,更不重要)等運算符的腳本被執行。一些運營商是不允許的Lua
在結果...
我需要使用for i = 1, table.getn(tbl) do
,而不是for i = 1, #tbl do
。
我需要使用string.gsub(str, [..])
而不是str:gsub([..])
。
等等......這讓人非常討厭尋找解決方法。
我的第一個想法是編碼。儘管我嘗試了多種常見的編碼,但都沒有工作。
錯誤我有:
當使用str:gsub([..])
代替string.gsub(str, [..])
:
attempt to index global `str' (a string value)
當使用#tbl
代替table.getn(tbl)
:
unexpected symbol near `#'
可能是什麼問題?我會感謝每一個解決方案,因爲我沒有想法。
規格:
Lua版本:
#define LUA_VERSION "Lua 5.0.3"
C++ 11, FreeBSD的10
'%'怎麼樣? – 2015-02-23 20:46:01
@EtanReisner它根本就不起作用。例如。當做'%2 == 0'我需要解決這個問題(這個人在這裏有類似的問題http://stackoverflow.com/questions/9695697/lua-replacement-for-the-operator)。 Btw。更新我的問題,並添加錯誤,我回來了。 – Lucas 2015-02-23 20:49:20
'%'*運算符*是Lua中相對較新的一個,在5.1中添加。 – 2015-02-23 20:50:53