「モジュール:Wd」の版間の差分

en:Module:Wd 2017年2月5日 (日) 15:45(UTC)より
template>K-iczn
(en:Module:Wd 2017年2月4日 (土) 15:52(UTC)より)
template>K-iczn
(en:Module:Wd 2017年2月5日 (日) 15:45(UTC)より)
116行目: 116行目:


function unknownDataTypeError(dataType)
function unknownDataTypeError(dataType)
return "<strong class=\"error\">'" .. type .. "'は不明もしくは未対応のデータタイプです。</strong>"
return "" .. dataType .. "は不明もしくは未対応のデータタイプです。"
end
end


function missingRequiredParameterError()
function missingRequiredParameterError()
return "<strong class=\"error\">No required parameters defined, needing at least one.</strong>"
return "必要なパラメータが定義されていません。最低限1つ必要です。"
end
end


function extraRequiredParameterError(param)
function extraRequiredParameterError(param)
return "<strong class=\"error\">Parameter '" .. param .. "' must be defined as optional.</strong>"
return "パラメータ「" .. param .. "」は任意として定義する必要があります。"
end
end


767行目: 767行目:
return value
return value
else
else
return unknownDataTypeError(snak.datavalue.type)
return '<strong class="error">' .. unknownDataTypeError(snak.datavalue.type) '</strong>'
end
end
elseif snak.snaktype == 'somevalue' then
elseif snak.snaktype == 'somevalue' then
1,425行目: 1,425行目:
nextIndex = nextIndex + 1
nextIndex = nextIndex + 1
_.qualifierID = nextArg
_.qualifierID = nextArg -- is possibly actually propertyValue, so don't trim just yet
nextArg = mw.text.trim(args[nextIndex] or "")
nextArg = mw.text.trim(args[nextIndex] or "")
1,494行目: 1,494行目:
-- make sure that at least one required parameter has been defined
-- make sure that at least one required parameter has been defined
if not next(parsedFormat.req) then
if not next(parsedFormat.req) then
return missingRequiredParameterError()
error(missingRequiredParameterError())
end
end
-- make sure that the separator parameter "%s" is not amongst the required parameters
-- make sure that the separator parameter "%s" is not amongst the required parameters
if parsedFormat.req[parameters.separator] then
if parsedFormat.req[parameters.separator] then
return extraRequiredParameterError(parameters.separator)
error(extraRequiredParameterError(parameters.separator))
end
end
1,662行目: 1,662行目:
end
end


-- main function that may be used by wrapper templates
-- main function that is supposed be used by a wrapper template
function p.main(frame)
function p.main(frame)
local f, args, i, v
local f, args, i, v
-- get the parent frame to take the arguments that were passed to the wrapper template
frame = frame:getParent() or frame
frame = frame:getParent() or frame
f = mw.text.trim(frame.args[1] or "")
f = mw.text.trim(frame.args[1] or "")
assert(p[f], 'The function "' .. f .. '" does not exist')
assert(p["_"..f], 'ファンクション"' .. f .. '"が存在しません。')
if f == "main" then
error('ファンクション"main"は2度も呼び出せません。')
end
args = {}
args = {}
匿名利用者