Jump to content

Module:OutputBuffer/doc: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
m change source to syntaxhighlight
Line 5: Line 5:
First, load the module.
First, load the module.


<source lang="lua">
<syntaxhighlight lang="lua">
local newBuffer = require('Module:OutputBuffer')
local newBuffer = require('Module:OutputBuffer')
</syntaxhighlight>
</source>


Then, create the buffer and the functions that act on it.
Then, create the buffer and the functions that act on it.


<source lang="lua">
<syntaxhighlight lang="lua">
local getBuffer, print, printf = newBuffer()
local getBuffer, print, printf = newBuffer()
</syntaxhighlight>
</source>


=== getBuffer ===
=== getBuffer ===


<source lang="lua">
<syntaxhighlight lang="lua">
local text = getBuffer(sep)
local text = getBuffer(sep)
</syntaxhighlight>
</source>


Returns the contents of the buffer, with an optional separator string <var>sep</var>.
Returns the contents of the buffer, with an optional separator string <var>sep</var>.
Line 25: Line 25:
=== print ===
=== print ===


<source lang="lua">
<syntaxhighlight lang="lua">
print(s)
print(s)
</syntaxhighlight>
</source>


Adds the string <var>s</var> to the buffer.
Adds the string <var>s</var> to the buffer.
Line 33: Line 33:
=== printf ===
=== printf ===


<source lang="lua">
<syntaxhighlight lang="lua">
printf(s, ...)
printf(s, ...)
</syntaxhighlight>
</source>


Adds the string <var>s</var> to the buffer. The string is formatted with any subsequent arguments, following the rules used for [[mw:Extension:Scribunto/Lua reference manual#String.format|string.format]].
Adds the string <var>s</var> to the buffer. The string is formatted with any subsequent arguments, following the rules used for [[mw:Extension:Scribunto/Lua reference manual#String.format|string.format]].
Line 41: Line 41:
== Example ==
== Example ==


<source lang="lua">
<syntaxhighlight lang="lua">
local newBuffer = require('Module:OutputBuffer')
local newBuffer = require('Module:OutputBuffer')
local p = {}
local p = {}
Line 57: Line 57:
-- {{#invoke:TestModule|main}} would output:
-- {{#invoke:TestModule|main}} would output:
-- "Welcome to the English Wikipedia. There are currently 4500000 articles on this site."
-- "Welcome to the English Wikipedia. There are currently 4500000 articles on this site."
</syntaxhighlight>
</source>


<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |

Revision as of 16:26, 7 July 2020

This module provides an easy and efficient way to generate lengthy strings.

Usage

First, load the module.

local newBuffer = require('Module:OutputBuffer')

Then, create the buffer and the functions that act on it.

local getBuffer, print, printf = newBuffer()

getBuffer

local text = getBuffer(sep)

Returns the contents of the buffer, with an optional separator string sep.

print

print(s)

Adds the string s to the buffer.

printf

printf(s, ...)

Adds the string s to the buffer. The string is formatted with any subsequent arguments, following the rules used for string.format.

Example

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

function p.main()
	local getBuffer, print, printf = newBuffer()
	print('Welcome to the English Wikipedia.')
	printf('There are currently %d articles on this site.', mw.site.stats.articles)
	return getBuffer(' ')
end

return p

-- Assuming this module's name is "TestModule", and that mw.site.stats.articles returns 4500000,
-- {{#invoke:TestModule|main}} would output:
-- "Welcome to the English Wikipedia. There are currently 4500000 articles on this site."