Jump to content

Module:Anchor/sandbox: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Writing my version of the module (only uses Module:Arguments)
No edit summary
Line 7: Line 7:
function p.main(frame)
function p.main(frame)
-- Faster method implemented by Luis150902
-- Faster method implemented by Luis150902
-- Step 1. Get the arguments.
-- Step 1. Create a local variable to store the anchors,
local args = getArgs(frame)
-- Step 2. Create a local variable to store the anchors,
-- initialised to the empty string.
-- initialised to the empty string.
local ret = ""
local ret = ""
-- Step 3. Create a iterator variable, initialised to 1.
-- Step 2. Create a iterator variable, initialised to 1.
local i = 1
local i = 1
-- Step 4. 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 args[i] == nil do
while not frame.args[i] == nil
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
-- to the local variable storing the anchors;
-- to the local variable storing the anchors;
ret = ret .. "<span id=\"" .. args[i] .. "></span>"
ret = ret .. '<span id="' .. frame.args[i] .. '"></span>'
-- (b) Increment the iterator variable.
-- (b) Increment the iterator variable.
i = i + 1
i = i + 1
end
end
-- Step 5. Return the value of the local variable storing the anchors.
-- Step 4. Return the value of the local variable storing the anchors.
return ret
return ret
end
end

Revision as of 11:52, 23 December 2016

-- This module implements {{anchor}}.

local getArgs = require('Module:Arguments').getArgs

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