请输入您要查询的百科知识:

 

词条 Module:Infobox road/length/sandbox
释义

local p = {}

local math = require "Module:Math"

local function getLengths(args, num)

    local precision = math._precision    local round = math._round    local format = math._precision_format    local lengths = {}    local km = args["length_km" .. num] or ''    local mi = args["length_mi" .. num] or ''    local prec = tonumber(args["length_round" .. num])    if '' == km then        local n = tonumber(mi)        prec = prec or precision(mi)        if n then            lengths.km = format(tostring(n * 1.609344), tostring(prec))        else            lengths.km = '0'        end    else        prec = prec or precision(km)        lengths.km = format(km, tostring(prec))        lengths.orig = "km"        lengths.comp = "mi"    end    if '' == mi then        local n = tonumber(km)        prec = prec or precision(km)        if n then            lengths.mi = format(tostring(n / 1.609344), tostring(prec))        else            lengths.mi = '0'        end    else        prec = prec or precision(mi)        lengths.mi = format(mi, tostring(prec))        lengths.orig = "mi"        lengths.comp = "km"    end    return lengths

end

function p._length(num, args)

    local ref = args["length_ref" .. num] or ''    local notes = args["length_notes" .. num] or ''    local lengths = getLengths(args, num)         local first, second    if lengths.orig == "mi" then        first = lengths.mi        second = lengths.km    else        first = lengths.km        second = lengths.mi    end    if first == '0' and second == '0' then        return    end    local text = {first, " ", lengths.orig, ref, " (", second, " ", lengths.comp, ")", }    if notes ~= '' then        table.insert(text, "
" .. notes .. "
") end return table.concat(text)

end

function p.length(frame)

    local pframe = frame:getParent()    local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself    local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template        local num = config.num or ''    return p._length(num, args)

end

return p

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/23 21:33:24