Mediawiki scribunto lua模块不知道内置函数

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

我在使用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

高度赞赏指出问题所在的任何帮助。

lua mediawiki scribunto
1个回答
0
投票

Scribunto故意不包含printThe "Removed functions and packages" section in its manual这样说:

[这是discussed on wikitech-l,因此决定应该省略它,而使用返回值,以提高代码质量。如有必要,可以使用mw.log()将信息输出到调试控制台。

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