【问题标题】:Lua: returning or storing REPL/loadstring string output in a string variableLua:在字符串变量中返回或存储 REPL/loadstring 字符串输出
【发布时间】:2015-02-03 10:49:33
【问题描述】:

这里已经问过同样的问题

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

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

ret = assert(loadstring(str_cmd))()

ret 是一个函数:(

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

【问题讨论】:

  • 提供str_cmd 的简单示例以及您的预期结果。
  • str_cmd = "print("A")" 输出字符串将是 = A,这完全是关于输出重定向

标签: string lua read-eval-print-loop


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-06-18
    • 2014-11-09
    • 2017-10-25
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    相关资源
    最近更新 更多