是否有办法在lua中捕获输出?

问题描述 投票:0回答:1

我正在尝试从例如print('Hello')捕获输出,并将其存储在变量/表中。

请让我知道是否有可能。如果没有,谢谢回答。

lua load lua-5.2
1个回答
0
投票

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

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

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

我不确定是否可以处理io.write呼叫。

© www.soinside.com 2019 - 2024. All rights reserved.