𨀈𬧐內容
程單正
程單正
轉𨖅錆邊
隱
調向
張正
𠊝𢷮𧵆低
張偶然
助𢴇
顯示吧入 Hiển thị và Nhập
風𡨸漢喃 Phông chữ Hán Nôm
部𢫈漢喃 Bộ gõ Hán Nôm
工具轉字 Công cụ chuyển tự
𡨸漢喃準 Chữ Hán Nôm chuẩn
榜𡨸漢喃準常用 Bảng chữ Hán Nôm chuẩn Thường dùng
榜𡨸翻音 Bảng chữ Phiên âm
名冊各詞摱憑𡨸漢喃準 Danh sách các từ mượn bằng chữ Hán Nôm chuẩn
向引編輯 Hướng dẫn Biên tập
定樣排曰 Định dạng bài viết
捐𢵰 Quyên góp
衆碎懃伴𢴇扡 Chúng tôi cần bạn giúp đỡ
尋檢
尋檢
交面
造財款
登入
工具個人
造財款
登入
䀡碼源𧵑模庉:ParameterAliasNormalizer
模庉
討論
English
讀
䀡碼源
䀡歷史
工具
工具
轉𨖅錆邊
隱
作務
讀
䀡碼源
䀡歷史
終
各連結𦤾低
𠊝𢷮連關
張特別
通信張
交面
轉𨖅錆邊
隱
←
模庉:ParameterAliasNormalizer
伴空得權𢯢𢷮張尼、爲理由𢖖󠄁:
只仍成員𥪝𡖡
成員通常
㵋得寔現操作尼。
伴吻固体䀡吧抄劄碼源𧵑張尼。
local ModuleObj = {} local getArgs = require("Module:Arguments").getArgs --[[ Hàm dùng để chuẩn bị dữ liệu --]] function ModuleObj.main(frame) local moduleArgs = getArgs(frame, {frameOnly = true}) local callerArgs = getArgs(frame, {parentOnly = true}) return ModuleObj._main(frame, moduleArgs, callerArgs) end --[[ Chuẩn hóa tên của tham số về tên gốc --]] function ModuleObj._main(frame, moduleArgs, callerArgs) -- Replace dấu dollar thành số nếu có replaceDollar(moduleArgs) -- Lowercase hóa key của bảng callerArgs callerArgs = lowerKey(callerArgs) -- Hàm kiểm tra chuỗi có rỗng không local function isEmpty(s) return s == nil or mw.text.trim(s) == '' end -- Lấy tên bản mẫu gốc local templateName = moduleArgs.__template moduleArgs.__template = nil; -- Lấy giá trị của đối số ánh xạ gán cho đối số gốc for baseParam, aliasesStr in pairs(moduleArgs) do for alias in mw.text.gsplit(aliasesStr, '\\', true) do alias = mw.ustring.lower(mw.text.trim(alias)) if callerArgs[alias] ~= nil then local value = callerArgs[alias] if isEmpty(value) == false then callerArgs[baseParam] = value end callerArgs[alias] = nil end end end -- Tạo bản mẫu với bảng đối số callerArgs local content = frame:expandTemplate{ title = templateName, args = callerArgs } return content end --[[ Hàm lowercase hóa key của các pair trong một table --]] function lowerKey(table) local lowercased = {} for key, value in pairs(table) do lowercased[mw.ustring.lower(key)] = value end return lowercased end --[[ Hàm thay dấu dollar thành số Ví dụ: "combatant${1,3} = bên $" sẽ sinh ra 3 đối số: "combatant1 = bên 1", "combatant2 = bên 2", "combatant3 = bên 3" --]] function replaceDollar(table) local temp = {} -- Tìm các key có pattern phù hợp, sinh các cặp key-value tương ứng -- và xóa cặp key-value ban đầu for key, value in pairs(table) do if (mw.ustring.match(key, "${(%d+,%d+)}")) then local points = mw.text.split(mw.ustring.match(key, "${(%d+,%d+)}"), ",", true) for i = points[1], points[2], 1 do local k = mw.ustring.gsub(key, "(${%d+,%d+})", i) local v = mw.ustring.gsub(value, "%$", i) temp[k] = v end table[key] = nil end end for key, value in pairs(temp) do table[key] = value end end return ModuleObj
板㑄用𥪝張尼:
模庉:ParameterAliasNormalizer/材料
(
䀡碼源
)
𢮿吏
模庉:ParameterAliasNormalizer
。