为什么我看不到我的打印功能卢阿内
问题描述:
我的问题有多个部分,但首先这是我的样品Lua代码(test.lua):为什么我看不到我的打印功能卢阿内
local traceback = debug.traceback
local inspect = require('inspect')
local foo = "function nop(); print('this is war'); return true; end"
local f = loadstring(foo)
local result = f()
print(result)
local status, val= xpcall(function() return f() end,debug.traceback)
print('status .. ' .. tostring(status))
print(val)
所以,
当我运行
local result = f()
。我仍然看到result
的值为nil
当函数
f
被执行时。为什么我看不到print
o/p。
答
的代码foo
您加载到f
不返回任何值的块。
它定义了一个函数,但就是这样。
如果您想在块运行时从块返回函数,则需要将return nop
添加到该字符串的末尾。