UWAGA
Strona jest ponownie oddana do uzytku po zabiegach konfiguracyjnych. Jeśli zobaczą Państwo na niej jakieś błedy techniczne, prosimy o ich zgłoszenie.

Większość artykułów w portalu to nasze własne teksty z kluczowych dziedzin związanych z naszą misją. Spora część materiałów pochodzi też z polskiej wersji Wikipedii, gdzie były odrzucone ze względu na politykę redaktorów (przeczytaj o krytyce Wikipedii). Są też i takie, które zostały przeniesione na nasze strony, gdyż stanowią istotne uzupełnienie merytorycznej treści naszego serwisu. Wszystkie artykuły podlegają edycji przez naszych Użytkowników, dlatego ich wersje mogą się różnić od prezentowanych na innych witrynach.

Moduł:Separuj

Z Wedapedia
Przejdź do nawigacji Przejdź do wyszukiwania

Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Separuj/opis

-- 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 lacznik2 = (args['łącznik2'] and mw.text.decode(args['łącznik2']))
	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
	
	if lacznik2 and (#values == 2) then
		lacznik = lacznik2
	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())
]]