我使用LuaSocket和http.request来调用生成Lua表并将其输出到浏览器的远程 PHP脚本. 当我将http.request响应存储在变量中时,它是一个字符串,这使得该表在我的Lua代码中不可用. 例如: eventData
当我将http.request响应存储在变量中时,它是一个字符串,这使得该表在我的Lua代码中不可用.
例如:
eventData = http.request("http://www.example.com/events.php") print( eventData ) --print outputs this "string", that is really a Lua table that PHP generated months={ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', }
例如,如果我尝试拨打几个月[4],它会错误地“尝试索引全球’月'(零值)”.
如何将该字符串转换为可用的表?
谢谢!
您可以使用 loadstring创建可以执行的lua块.eventData = [[ months = { 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', } ]] loadstring(eventData)() if months then print(table.concat(months, ", ")) end