User:BillKing

Currently Investigating the use of Scribunto (Lua) modules

 * 1)    Create modules containing either an array or matrix (array of arrays) as data source to other modules.
 * 2)    Create modules that use a string or an array or an array matrix as data sources.
 * 3) *       Ability to use more than one array contained in a matrix in a module
 * 4) *       Use list of delimited string as arguments to a module
 * 5)    Develop an approach for handling data in associative arrays
 * 6) *       Ability to identify data elements
 * 7) *       Ability to break apart data elements using subfields
 * 8)    Types of working modules created on personal wiki to date
 * 9) *       simplified infobox module - simple array
 * 10) *       build sorted table from associative array with options:
 * 11) **           Output column heads or not - no heads - array will not be sortable
 * 12) **           Limited selection of rows to output
 * 13) **           Limited selection of columns to output
 * 14) **           Option to add entry number column to table (5 digit number)
 * 15) *       use an array to perform lookups (ie. Find a state abbreviation and output the state's official flower or capitol etc.)
 * 16) *       sort an input string based on a delimiter
 * 17) *       output string in delimited form or create a list
 * 18) **           option to perform leading article lookups for "A, An, And, The" for sorting purposes
 * 19) *       limited table check module for certain types of data arrays
 * 20) *       ability to create an array from a string
 * 21)    Use a variable (created by Variables extension)  to pass to a module
 * 22)    Use output of one module and pass output as argument to another module
 * 23)    Create Categories
 * 24) *       Module created to read in a list and produce Categories on a page
 * 25)    Use a template with a ParserFunction switch statement to call preformed invoke to various modules
 * 26) *       ie. Option 1 - invoke an infobox module with different parameters.
 * 27)    Can now use a multiline string inside a called Lua module, returning it as a single string and converting it back to a multiline string, thus able to display multiple lines on an article page - (don't have to worry too much about that pesky "\n") ie. (note: \n and/or \r do not work in Windows - believe this is being addressed)
 * 28) *  page = &#91;&#91;==Section Head== ===Sub Heading with a numbered list following=== One Two ;Term :Definition &#93;&#93;
 * 29) *       Also, can utilize variables in a multi line Lua string inside a module. I use it to add a small section to various pages.
 * 30) *       Requires StringFunctions and ParserFunctions extensions.
 * 31)    Can use an #invoke statement as an argument to a template.
 * 32)    Module created to swap strings -- ie. swap dog n cat - 'The brown dog jumped over the cat' to 'The brown cat jumped over the dog'
 * 33)    Module created to count elements of a list passed as a string.
 * 34)    Module created to convert a Roman Numeral to number: ie. mmxiii to 2013
 * 35)    ISBN digit check digit creation - validation (DONE ELSEWHERE)
 * 36)    Other Notes
 * 37)    Note: To trigger error message that will appear within RED Script Error can use following code:  do return error("Your Error Message") end -- simpler just: error("Your Error Message")
 * 38)    If a value of a parameter is 'nil' and want to assign a default value (rather than do an if else statement):
 * 39) *  ie. local variable yesno = frame.args[2] or "no"
 * 40)    Length of a string passed to a module (2 ways I found):
 * 41) *       #frame.args[1] or if made into a variable string.len(variable)
 * 42)    Important
 * 43) *   An #invoke's parameter that is a string containing an '=' sign and to be handled by string functions in the invoked module will fail -- to resolve enclose the ='s sign in curly brackets -- see: https://en.wikipedia.org/wiki/Help:Templates#Usage_hints_and_workarounds.
 * 44) *   Just something to remember! -- also possible to define a variable and pass that variable to a module without having to resort to enclose the ='s sign in curly brackets.
 * 45)    Works in Progress
 * 46) *   Investigating - adding rows and columns and outputting totals in a table
 * 47) *   Investigating - removing numerous templates that I use and replacing them with Scribunto (Lua) modules
 * 48) *   Investigating - creating categories & sub categories based on a simple taxonomy (ie. Basic Library of Congress Classification) ♙