【发布时间】:2014-11-09 03:24:33
【问题描述】:
我有一个 Lua 脚本,它接收字符串中的函数调用。我需要执行该调用并将输出作为变量中的字符串检索,以便稍后将其发送到某个地方。
例如,我将收到字符串"json.encode('{1:1, 2:3, 5:8}')"。我想执行它并获得一个值为ret = json.encode('{1:1, 2:3, 5:8}')的变量。
我尝试过以多种不同方式使用 loadstring,包括我 found in the docs 的方式,但我无法让它按我的意愿工作:
> s = "json.encode('{1:1, 2:3, 5:8}')"
> ret = assert(loadstring(s))()
> print(ret)
nil
我知道字符串正在执行,因为如果我设置 s = print(json.encode('{1:1, 2:3, 5:8}')) 我会看到输出。我只是不知道如何在变量中获取输出。
谢谢!
【问题讨论】:
标签: string variables lua output execute