Module:Separated entries
- English
- español
- 日本語
- Deutsch
- français
- 中文
- русский
- italiano
- português
- polski
- Nederlands
- العربية
- аԥсшәа
- Afrikaans
- алтай тил
- Pangcah
- الدارجة
- مصرى
- azərbaycanca
- تۆرکجه
- башҡортса
- Basa Bali
- Bikol Central
- беларуская
- български
- भोजपुरी
- ပအိုဝ်ႏဘာႏသာႏ
- বাংলা
- བོད་ཡིག
- bosanski
- буряад
- català
- 閩東語 / Mìng-dĕ̤ng-ngṳ̄
- нохчийн
- Chamoru
- کوردی
- corsu
- чӑвашла
- Cymraeg
- dansk
- डोटेली
- Ελληνικά
- eesti
- euskara
- فارسی
- mfantse
- suomi
- Na Vosa Vakaviti
- føroyskt
- furlan
- Gaeilge
- 贛語
- galego
- گیلکی
- Avañe'ẽ
- गोंयची कोंकणी / Gõychi Konknni
- Bahasa Hulontalo
- Ghanaian Pidgin
- ગુજરાતી
- Hausa
- 客家語 / Hak-kâ-ngî
- Hawaiʻi
- עברית
- हिन्दी
- hrvatski
- հայերեն
- Արեւմտահայերէն
- interlingua
- Bahasa Indonesia
- Ilokano
- гӀалгӀай
- íslenska
- Jawa
- ქართული
- Taqbaylit
- Kumoring
- Gĩkũyũ
- қазақша
- ភាសាខ្មែរ
- ಕನ್ನಡ
- 한국어
- kurdî
- Lëtzebuergesch
- Luganda
- Ladin
- lietuvių
- latviešu
- मैथिली
- мокшень
- Māori
- Minangkabau
- македонски
- മലയാളം
- монгол
- ဘာသာမန်
- मराठी
- Bahasa Melayu
- Malti
- မြန်မာဘာသာ
- эрзянь
- नेपाली
- occitan
- ଓଡ଼ିଆ
- ирон
- ਪੰਜਾਬੀ
- پښتو
- ikirundi
- română
- tarandíne
- руски
- Ikinyarwanda
- ᱥᱟᱱᱛᱟᱲᱤ
- Scots
- سنڌي
- srpskohrvatski / српскохрватски
- တႆး
- සිංහල
- Simple English
- slovenščina
- anarâškielâ
- chiShona
- shqip
- српски / srpski
- Sunda
- svenska
- Sakizaya
- தமிழ்
- Tayal
- ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
- тоҷикӣ
- ไทย
- Tagalog
- tolışi
- Setswana
- Türkçe
- татарча / tatarça
- удмурт
- українська
- اردو
- oʻzbekcha / ўзбекча
- vèneto
- Tiếng Việt
- Volapük
- Winaray
- 吴语
- хальмг
- მარგალური
Lua
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
![]() | This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
UsageUsage
English: Module:Separated entries serves as a templating front-end to
mw.text.listToText
. It takes any number of positional parameters and pieces them together with |separator=
. |conjunction=
can be optionally defined if a different separator is desired between the last and second last items. Leading and trailing whitespace is stripped; if the |separator=
should contain spaces, use the HTML escape code  
. Separated entries does not raise any errors by design.{{#invoke:Separated entries|main|separator=...}}
Code
-- 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('Module: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('Module: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