Mô đun:Separated entries
Buớc tưới chuyển hướng
Bước tới tìm kiếm
Bạn có thể tạo một trang tài liệu về mô đun Scribunto này. Những người sửa đổi có thể thử nghiệm trong các trang trường hợp kiểm thử (tạo) để kiểm tra các chức năng cần thiết của mô đun này. Xin hãy thêm các thể loại vào trang con /tài liệu. Các trang con của mô đun này. |
-- This module takes positional parameters as input and concatenates them with
-- an optional separator. The final separator (the "conjunction") can be
-- specified independently, enabling natural-language lists like
-- "foo, bar, baz and qux".
local compressSparseArray = require('Mô đun:TableTools').compressSparseArray
local p = {}
function p._main(args)
local separator = args.separator
-- Decode (convert to Unicode) HTML escape sequences, such as " " for space.
and mw.text.decode(args.separator) or ''
local conjunction = args.conjunction and mw.text.decode(args.conjunction) or separator
-- Discard named parameters.
local values = compressSparseArray(args)
return mw.text.listToText(values, separator, conjunction)
end
local function makeInvokeFunction(separator, conjunction)
return function (frame)
local args = require('Mô đun:Arguments').getArgs(frame)
args.separator = separator or args.separator
args.conjunction = conjunction or args.conjunction
return p._main(args)
end
end
p.main = makeInvokeFunction()
p.br = makeInvokeFunction('<br />')
p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain())
return p