在脚本中使用维基百科 lua 模块
Using wikipedia lua modules in a script
好的,所以,首先让我澄清一下,我不知道 Lua 是如何工作的,从来没有在其中编写超过 10 行的代码,而且我通常对 MediaWiki + 的工作方式感到困惑Scribunto + Lua 作品...
所以...
我有这个维基词典module/template:
https://en.wiktionary.org/w/index.php?title=Module:pl-IPA&action=edit
在我看来它是完全有效的 lua 代码。
当我尝试 运行 一些简单的例子(例如调用函数 export.convert_to_IPA("something")
)时,Lua 似乎抱怨它不知道 mw
是什么.
据我所知,mw
代表 MediaWiki,是对 Scribunto 模块的引用。
问题是...我如何在一个简单的 Lua 脚本 运行ning 中从终端找到并导入此 mw
模块...使用 Lua 口译员,关于 Mac?
一般来说,没有 MediaWiki,您不能在独立的 Lua 中使用 mw
。它提供的几乎所有功能都是对 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/ustring
这是一个如何使用它的示例(假设您的当前目录同时包含 pl-IPA.lua
和我链接的 ustring
目录):
$ 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
>
好的,所以,首先让我澄清一下,我不知道 Lua 是如何工作的,从来没有在其中编写超过 10 行的代码,而且我通常对 MediaWiki + 的工作方式感到困惑Scribunto + Lua 作品...
所以...
我有这个维基词典module/template:
https://en.wiktionary.org/w/index.php?title=Module:pl-IPA&action=edit
在我看来它是完全有效的 lua 代码。
当我尝试 运行 一些简单的例子(例如调用函数 export.convert_to_IPA("something")
)时,Lua 似乎抱怨它不知道 mw
是什么.
据我所知,mw
代表 MediaWiki,是对 Scribunto 模块的引用。
问题是...我如何在一个简单的 Lua 脚本 运行ning 中从终端找到并导入此 mw
模块...使用 Lua 口译员,关于 Mac?
一般来说,没有 MediaWiki,您不能在独立的 Lua 中使用 mw
。它提供的几乎所有功能都是对 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/ustring
这是一个如何使用它的示例(假设您的当前目录同时包含 pl-IPA.lua
和我链接的 ustring
目录):
$ 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
>