Moduł:Separuj
Separuj przyjmuje zmienną liczbę parametrów i łączy je podanymi separatorami.
Użycie
{{#invoke:Separuj|main|...|...}} {{#invoke:Separuj|main|...|...|separator=; }} {{#invoke:Separuj|main|separator=; |łącznik= i |...|...}}
Białe znaki są usuwane. Jeśli separator/łącznik ma zawierać spację, wstawiamy ją w postaci kodu HTML, np. przez  
.
Opis parametrów
| 1 =
i dalsze, opcjonalne, pozycje do połączenia
| separator =
, opcjonalny, separator dla łączonych pozycji, domyślnie ,
(przecinek i spacja)
| łącznik =
, opcjonalny, separator pomiędzy dwoma ostatnimi pozycjami, domyślnie oraz
(spacja oraz spacja).
Przykład
{{#invoke:Separuj|main|1|2|3|4}} → 1, 2, 3 oraz 4
{{#invoke:Separuj|main|1|2}} → 1 oraz 2
{{#invoke:Separuj|main|1|2|3|4|separator=; }} → 1; 2; 3 oraz 4
{{#invoke:Separuj|main|separator=; |łącznik= i |1|2|3|4}} → 1; 2; 3 i 4
Błędy
Błędy należy zgłaszać na stronie Wikipedia:Kawiarenka/Kwestie techniczne.
Zobacz też
- Szablon:Separuj
- Moduł:String (join)
-- Moduł separuje pozycje podane w parametrach przez opcjonalny
-- separator. Ostatni separator może być podany niezależnie,
-- umożliwiając listy w postaci "foo, bar, baz i qux".
local p = {}
function p._separuj(values,args)
-- Przekonwertuj (na Unikod) sekwencje HTML takie jak np. " " dla spacji.
local separator = args.separator and mw.text.decode(args.separator)
local lacznik = args['łącznik'] and mw.text.decode(args['łącznik'])
local lista = args.lista
local listaSeparator = args.listaSeparator or ';'
local listaRegex="[^"..listaSeparator.."]+"
if lista then
values = {}
for element in mw.ustring.gmatch(lista, listaRegex) do
table.insert(values,element)
end
end
return mw.text.listToText(values, separator, lacznik)
end
local function makeFunction(name)
return function (frame)
local args = require('Module:Arguments').getArgs(frame) --{frameOnly = true}
-- same wartości (tylko parametry nienazwane, nie przypisane przez "=")
local values=require('Module:TableTools').compressSparseArray(args)
return p[name](values,args)
end
end
p.main = makeFunction('_separuj')
return p
--[[
local function makeInvokeFunction(separator, conjunction, first)
return function (frame)
local args = require('Module:Arguments').getArgs(frame)
args.separator = separator or args.separator
args.conjunction = conjunction or args.conjunction
args.first = first or args.first
return p._main(args)
end
end
p.main = makeInvokeFunction()
p.br = makeInvokeFunction('<br />')
p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain())
]]