lua自定义终端未显示命令输出

我正在尝试制作一个终端,但卡在一个问题上。在命令 do 中执行程序时,我想让 docom 成为 loadstring 的输出。 input = io.read() 这是我程序中的lua终端,但没有任何输出。这是相关的代码:

docom = loadstring(input)
print(docom)

如何让输出显示?因为目前是这样的:

欢迎来到终端!
已加载
do
doprint("hello")
function: 0x809b60
do

第三行和第五行是用户输入。如何修复它以显示 hello 字符串而不是函数名称。我希望能够管理此问题,因为我将其他所有内容都放在同一个lua脚本中。请帮助。

点赞
用户107090
用户107090

你可能想要使用 print(docom())

loadstring 将脚本编译为函数。这就是你看到的 function: 0x809b60

loadstring 不运行函数。因此需要调用 docom()

你可能希望通过检查 docom 是否为空值并通过 pcall 调用 docom 来添加错误处理。

2016-07-23 20:31:27