0

好的,所以,让我首先明确一点,我不知道 Lua 是如何工作的,从来没有在其中写过超过 10 行代码,而且我通常对 MediaWiki + Scribunto + Lua 的工作原理感到困惑......

所以...

我有这个维基词典模块/模板:

https://en.wiktionary.org/w/index.php?title=Module:pl-IPA&action=edit

在我看来,它就像是完全有效的 lua 代码。

当我尝试运行一些简单的示例(例如调用函数export.convert_to_IPA("something"))时,Lua 似乎抱怨它不知道是什么mw

据我所知,mw它代表 MediaWiki,是对 Scribunto 模块的引用。

问题是......我如何mw在从终端运行的简单 Lua 脚本中找到并导入这个模块......在 Mac 上使用 Lua 解释器?

4

1 回答 1

1

一般来说,你不能mw在没有 MediaWiki 的情况下在独立的 Lua 中使用。它提供的几乎所有函数都是对 MediaWiki 的 PHP 的回调。但是,看起来您只想使用convert_to_IPA而不是template_IPA,而前者的唯一用法mw是这一行:for ch in mw.ustring.gmatch(mw.ustring.lower(word), ".") do。你很幸运:mw.ustring是规则的例外,它确实有一个纯 Lua 实现:https ://github.com/wikimedia/mediawiki-extensions-Scribunto/tree/master/includes/engines/LuaCommon/lualib/字符串

这是一个如何使用它的示例(假设您的当前目录包含两个目录pl-IPA.luaustring我链接的目录):

$ lua5.1
Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio
> mw = {ustring = require 'ustring/ustring'}
> export = require 'pl-IPA'
> =export.convert_to_IPA("something")
sɔˈmɛt.xʲink
>
于 2020-12-15T07:20:35.230 回答