我正在尝试测试LUA loadstring函数。
此示例是从LUA文档中获得的指导:
f = loadstring("i = i + 1")
但是,当我尝试在以下位置运行它时:
https://www.lua.org/cgi-bin/demo
我收到以下错误:
input:1: attempt to call a nil value (global 'loadstring')
答案 0 :(得分:4)
loadstring
在Lua 5.1之前的版本中不可用。您链接的演示正在运行Lua 5.3。您可以通过运行程序print(_VERSION)
来证明这一点。
在Lua 5.2中,更高版本的代码应使用load
,这是您可以运行的示例程序,该程序从字符串中加载块:
local f = load("return 2 + 2")
print(f())
答案 1 :(得分:0)
这是Lua 5.4,负载在那里。 看...
tdump=[[for k,v in pairs(_G) do print(k,v) end]]
load(tdump)()
由于安全原因,我认为Lua 5.4 CGI的功能有所减少。 看...
tdump=[[for k,v in pairs(_G.io) do print(k,v) end]]
load(tdump)()
...只有:write()