Jump to content

Modulo:OutputBuffer

Manipud iti Wikipedia, ti nawaya nga ensiklopedia
Dokumentasion ti modulo

Daytoy a modulo ket mangited ti maysa a nalaka ken nasayaat a waya iti panagpataud kadagiti atiddog a kuerdas.

Umuana nga ikarga ti modulo.

local newBuffer = require('Modulo:OutputBuffer')

Kalpasanna, partuaten ti buffer ken dagiti annong nga agtignay iti daytoy.

local getBuffer, print, printf = newBuffer()
local text = getBuffer(sep)

Mangisubli kadagiti linaon ti buffer, ken addaan iti pagpilian a panangisina a kuerdas ti sep.

print(s)

Manginayon ti kuerdas ti s iti buffer.

printf(s, ...)

Manginayon ti kuerdas ti s iti buffer. Mapormat ti kuerdas kadagiti ania man a sumaruno nga argumento a a sumurot kadagiti alagaden a maus-usar para iti string.format.

local newBuffer = require('Modulo:OutputBuffer')
local p = {}

function p.main()
	local getBuffer, print, printf = newBuffer()
	print('Naragsak nga isasangbay ditoy Ilokano Wikipedia.')
	printf('Agdama nga adda dagiti %d nga artikulo iti daytoy a sitio.', mw.site.stats.articles)
	return getBuffer(' ')
end

return p

-- Assuming this module's name is "TestModule", and that mw.site.stats.articles returns 6500,
-- {{#invoke:TestModule|main}} would output:
-- "Naragsak nga isasangbay ditoy Ilokano Wikipedia. Agdama nga adda dagiti 6500 nga artikulo iti daytoy a sitio."

return function()
	local buffer = {}
	return function(sep)
		local b = buffer
		buffer = {}
		return table.concat(b, sep)
	end,
	function(text)
		buffer[#buffer + 1] = text
	end,
	function(...)
		buffer[#buffer + 1] = string.format(...)
	end
end