Module:HelloWorld

This is a simple example function to show the structure of Lua modules on Mediawiki. Module:Bananas is another version of a "Hello, World!" program.


local p = {};     --All lua modules on Mediawiki must begin by defining a variable 
                    --that will hold their externally accessible functions.
                    --Such variables can have whatever name you want and may 
                    --also contain various data as well as functions.

p.hello = function( frame )     --Add a function to "my_object".  
                                        --Such functions are callable in Mediawiki
                                        --via the #invoke command.
                                        --"frame" will contain the data that Mediawiki
                                        --sends this function when it runs. 
    
    local str = "Hello World!"  --Declare a local variable and set it equal to
                                --"Hello World!".  
    
    return str    --This tells us to quit this function and send the information in
                  --"str" back to Mediawiki.
    
end  -- end of the function "hello"

return p    --All modules end by returning the variable containing its
                    --functions to Mediawiki.

-- Now we can use this module by calling {{#invoke: HelloWorld | hello }}.
-- Note that the first part of the invoke is the name of the Module's wikipage,
-- and the second part is the name of one of the functions attached to the 
-- variable that you returned.

-- The "print" function is not allowed in Mediawiki.  All output is accomplished
-- via strings "returned" to Mediawiki.