Модуль:CallMW: различия между версиями

Материал из Народные Сказки
(Новая страница: «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»)
 
м (1 версия импортирована)
 
(нет различий)

Текущая версия от 21:31, 30 апреля 2024

Функция 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