Difference between revisions of "Module:Anchor/sandbox"

From blackwiki
Jump to navigation Jump to search
blackwiki>Renamed user awfwvowjvwrvnwio
blackwiki>Renamed user awfwvowjvwrvnwio
(Bugfix and speedup)
Line 1: Line 1:
 
-- This module implements {{anchor}}.
 
-- This module implements {{anchor}}.
 
local getArgs = require('Module:Arguments').getArgs
 
  
 
local p = {}
 
local p = {}
Line 14: Line 12:
 
-- Step 3. While there exists a positional argument referenced by
 
-- Step 3. While there exists a positional argument referenced by
 
--  the iterator variable, do the following:
 
--  the iterator variable, do the following:
     while not frame.args[i] == nil
+
     while not (frame.args[i] == nil)
 
     do
 
     do
 
     -- (a) Add a empty span whose id is the value of the argument
 
     -- (a) Add a empty span whose id is the value of the argument

Revision as of 11:58, 23 December 2016

Documentation for this module may be created at Module:Anchor/sandbox/doc

-- This module implements {{anchor}}.

local p = {}

function p.main(frame)
	-- Faster method implemented by Luis150902
	-- Step 1. Create a local variable to store the anchors,
	--   initialised to the empty string.
	local ret = ""
	-- Step 2. Create a iterator variable, initialised to 1.
	local i = 1
	-- Step 3. While there exists a positional argument referenced by
	--   the iterator variable, do the following:
    while not (frame.args[i] == nil)
    do
    	-- (a) Add a empty span whose id is the value of the argument
    	--   to the local variable storing the anchors;
        ret = ret .. '<span id="' .. frame.args[i] .. '"></span>'
        -- (b) Increment the iterator variable.
        i = i + 1
    end
    -- Step 4. Return the value of the local variable storing the anchors.
    return ret
end

return p