Модуль:CallMW

Материал из Народные Сказки
Версия от 00:37, 4 июня 2023; ru>Andras (Новая страница: «local p = {} function p.mw(frame) local moduleName = frame.args[1] local functionName = frame.args[2] local params = {} for key, value in ipairs(frame.args) do if key > 2 then table.insert(params, value) end end return mw[moduleName][functionName](unpack(params)) end return p»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Функция mw позволяет вызывать служебные функции из mw:Extension:Scribunto/Lua reference manual#Scribunto libraries из шаблонов, а не только из модулей:

  • Код в модуле: mw.wikibase.getEntityIdForTitle('Octillion', 'enwiki')
  • Код в шаблоне: {{#invoke:CallMW|mw|wikibase|getEntityIdForTitle|Octillion|enwiki}}

Тесты модуля

Ошибка Lua в Модуль:CallMW/tests на строке 6: attempt to index field 'wikibase' (a nil value).

Примеры использования

  • {{Wikidata-redirect}}
  • {{Falseredirect}}

local p = {}

function p.mw(frame)
	local moduleName = frame.args[1]
	local functionName = frame.args[2]
	local params = {}
	for key, value in ipairs(frame.args) do
		if key > 2 then
			table.insert(params, value)
		end
	end
	return mw[moduleName][functionName](unpack(params))
end

return p