Jump to content

Module:Escape/doc

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Codehydro (talk | contribs) at 00:26, 14 January 2015 (starting..). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Usage

This module is designed as an way to escape strings in a customized manner. There are two ways to call this module:

From another module:

local escape = require('Module:Escape')

From a template:

Template:Invoke:Escape

By default, this module will escape the \ char. To escape the { char instead, you can do require('Module:Escape'):char('{') (or esc:char('{') if you've stored table returned by this module in the local variable esc). When used in a template, set |char= equal to the char code.

test test \ test, \test, \,test\ \ \ \

To get an escaped string:

local foo = escape:

Here's some sample output from the debug consol below the module editor:

local escape = require('Module:Escape')
test = 'test, \\test, \\{,test\\\\ \\\\ \\\\\\\\'

test2 = escape:init('{'):text(test)
=test2

test, \test, \�7b�44�7btest\\ \\ \\\\

test3 = escape:init('\\'):text(test2)

=test3

test, �5c�116�5cest, �5c�24�5c7b�44�7btest�5c�92�5c �5c�92�5c �5c�92�5c�5c�92�5c

test4 = escape:init('{', {undo = test3})

=test4

test, �5c�116�5cest, �5c�24�5c7b�44�7btest�5c�92�5c �5c�92�5c �5c�92�5c�5c�92�5c

test4 = escape:init('\\', {undo = test3})

=test4

test, \test, \�7b�44�7btest\\ \\ \\\\

test5 = escape:init('{', {undo = test4})

=test5 == test

true

=escape:undo(test3)
test, �5c�116�5cest, �5c�24�5c7b�44�7btest�5c�92�5c �5c�92�5c �5c�92�5c�5c�92�5c

=escape:undo(test4)
test, \test, \,test\\ \\ \\\\

=escape:init('\\'):undo(test3)
test, test, �7b�44�7btest\ \ \\

=escape:init('{', {undo = escape:init('\\'):undo(test3)})
test, test, {,test\ \ \\

=test == escape:init('{', {undo = escape:init('\\'):undo(test3)})
false

=test == escape:init('{', {undo = escape:init('\\'):undo(test3, '\\')})
true