モジュール:scripts/templates

出典: フリー多機能辞典『ウィクショナリー日本語版(Wiktionary)』
ナビゲーションに移動 検索に移動

このモジュールについての説明文ページを モジュール:scripts/templates/doc に作成できます

local export = {}

function export.exists(frame)
	local args = frame.args
	local sc = args[1] or error("スクリプトコードが指定されていません。パラメータ1をモジュールの呼び出しに渡して下さい。")
	
	sc = require("モジュール:scripts").getByCode(sc)
	
	if sc then
		return "1"
	else
		return ""
	end
end

function export.getByCode(frame)
	local args = frame.args
	local sc = args[1] or error("スクリプトコード(パラメータ1)が指定されていません。")
	local itemname = args[2] or error("呼び出す関数(パラメータ2)が指定されていません。")
	
	sc = require("モジュール:scripts").getByCode(sc) or error("スクリプトコード '" .. sc .. "' は無効です。")
	
	-- The item that the caller wanted to look up
	if itemname == "getCanonicalName" then
		return sc:getCanonicalName()
	elseif itemname == "getOtherNames" then
		local index = args[3]; if index == "" then index = nil end
		index = tonumber(index or error("Numeric index of the desired item in the list (parameter 3) has not been specified."))
		return sc:getOtherNames()[index] or ""
	elseif itemname == "getCategoryName" then
		return sc:getCategoryName()
	elseif itemname == "countCharacters" then
		local text = args[3] or ""
		return sc:countCharacters(text)
	else
		error("Requested invalid item name \"" .. itemname .. "\".")
	end
end

function export.getByCanonicalName(frame)
	local args = frame.args
	local sc = args[1] or error("スクリプト名(パラメータ1)が指定されていません。")
	
	sc = require("モジュール:scripts").getByCanonicalName(sc)
	
	if sc then
		return sc:getCode()
	else
		return "None"
	end
end

return export