模組:Documentation/wrapper

於 2024年6月15日 (六) 20:06 由 LarryChou留言 | 貢獻 所做的修訂 (建立內容為「-- 包裹Module:Documentation不能直接被模板呼叫的函數 local mDocumentation = require('Module:Documentation') local getArgs = require('Module:Arguments').getArgs return { wrapper = function (frame) local args = frame.args local method = args.method if not method or not mDocumentation[method] or method:match('^_') -- reject private function then return require('Module:Error').error({'Can\'t find method "' .. method .. '" i…」的新頁面)
(差異) ←上個修訂 | 最新修訂 (差異) | 下個修訂→ (差異)

可在模組:Documentation/wrapper/doc建立此模組的說明文件

-- 包裹[[Module:Documentation]]不能直接被模板呼叫的函數
local mDocumentation = require('Module:Documentation')
local getArgs = require('Module:Arguments').getArgs

return {
	wrapper = function (frame)
		local args = frame.args
		local method = args.method
		if
			not method
			or not mDocumentation[method]
			or method:match('^_') -- reject private function
		then
			return require('Module:Error').error({'Can\'t find method "' .. method .. '" in [[Module:Documentation]].'})
		elseif
			mDocumentation['_' .. method] -- reject private function
		then
			return require('Module:Error').error({'Please use <code>{{#invoke:[[Module:Documentation|Documentation]]|' .. method .. '|...}}</code> instead.'})
		end
		local env = mDocumentation.getEnvironment(args)
		return mDocumentation[method](args, env)
	end
}