Lua:返回或存储REPL/loadstring字符串输出到字符串变量中

Lua: returning or storing REPL/loadstring string output in a string variable

这里已经问过同样的问题

Lua: Executing a string and storing the output of the command in a variable

但我希望函数以某种方式加载字符串 return 字符串形式的结果,以后可以将其分配给字符串变量以供进一步使用,它 returns 是一个函数。 下面的代码是一个例子:

ret = assert(loadstring(str_cmd))()

ret 是一个函数:(

如何获得字符串形式的 REPL/loadstring 输出?

如果 str_cmd 的所有输出都来自对 print 的调用,请在加载 str_cmd 之前重新定义 print 以将所有输出保存在 table 中。 运行宁str_cmd后,如table.concat中的table

您可以为 运行 str_cmd 提供一个环境,而不是重新定义 print。您可能需要使该环境继承自全局环境。