有没有办法捕获 lua 中的输出?

Is there a way to catch the output in lua?

我正在尝试捕获输出,例如:print('Hello') 并将其存储在变量 / table.

请让我知道这是否可能。如果不是谢谢你的回答。

不能直接拦截标准输出,但是可以改变全局print函数:

local outputs = {}
local function storeOutputs(...)
  table.insert(outputs, {...})
end

local oldPrint = print
function print(...)
  storeOutputs(...)
  oldPrint(...)
end

我不确定是否有办法处理 io.write 来电。