我在使用Scribunto调用Lua内置函数时遇到问题。
我创建了基本模块Module:Item
local p = {};
function p.test(frame)
print("Hello World!")
end
return p
我在哪个页面中将其称为{{#invoke: Item | test}}
并且收到以下错误:
Lua error in Module:Item at line 3: attempt to call global 'print' (a nil value).
Backtrace:
1. (tail call): ?
2. Module:Item:3: in function "chunk"
3. mw.lua:511: ?
4. (tail call): ?
5. [C]: in function "xpcall"
6. MWServer.lua:99: in function "handleCall"
7. MWServer.lua:313: in function "dispatch"
8. MWServer.lua:52: in function "execute"
9. mw_main.lua:7: in main chunk
10. [C]: ?
由于打印是Lua的内置功能,所以我感到问题可能出在PC上的设置中。但是,当我导入Wiki信息框时,它们运行正常。
版本:
Linux Mint Tara-基于ubuntu 18的肉桂
MediaWiki 1.31.7
Scribunto(106fbf4)2018年5月15日17:24
卢阿5.1.5
高度赞赏指出问题所在的任何帮助。
Scribunto故意不包含print
。 The "Removed functions and packages" section in its manual这样说:
[这是discussed on wikitech-l,因此决定应该省略它,而使用返回值,以提高代码质量。如有必要,可以使用mw.log()将信息输出到调试控制台。