|
Dot, dot, dot in Lua - variable length parameter lists
 Lua functions can take any number of parameters - the ... (dot,dot,dot) table given as a parameter 'soaking up' all remaining parameters into the indexed section of the table, rather this "*" in front of a parameter in PHP. (In Perl, the whole list appears in @_)
function join (sep,...)
togo = {...}
There are two styles to calling Lua functions - passing in a comma separated list of parameters in round brackets, or combining them into a table in curly braces:
-- Many parameter variety
str1 = join(" ","This","is","a","Program")
-- Two parameter variety
str2 = join(" ",{"This","is","another","Program"})
And the code within the function can tell the styles apart and adapt itself as appropriate by checking the number and/or type of parameters:
if type(togo[1]) == "table" then
See source code of full example
Illustration - delegates on a private Lua course. We run public Lua training courses at our centre in Melksham, Wiltshire, England and private course onsite worldwide.
(written 2009-08-11, updated 2010-06-19)
Associated topics are indexed under U106 - Lua - Functions. [3695] Functions are first class variables in Lua and Python - (2012-04-13) [2949] Lua - variable function arguments and select - (2010-09-08) [2723] Returning multiple values from a function - Lua - (2010-04-15) [2455] Lua examples - coroutines, error handling, objects, etc - (2009-10-15) [2356] Passing multiple results back from a function - Lua, Python, etc - (2009-08-13) [2312] What are closures in Lua? - (2009-07-31) [1847] Lua - IAQ (Infrequently Answered Questions) - (2008-10-18) [1744] Lua examples, Lua Courses - (2008-08-08) [1743] First class functions in Lua lead to powerful OO facilities - (2008-08-07) [1699] If you are learning Lua, here are some more examples - (2008-07-06) [1697] Sorting in lua - specifying your own sort routine - (2008-07-05) [1685] Short circuit evaluation (lazy operator) in Lua - (2008-06-22)
5329
Some other Articles
Ternary operators alternatives - Perl and Lua lazy operatorsTen years in Melksham - looking forward to ten more.Businesses effected by road works in MelkshamFinding literals rather than patterns in LuaDot, dot, dot in Lua - variable length parameter listsThe indexed and hashed parts of a Lua tableAutomatically initialising Lua variables the first timeReading a data file and sensing EOF in LuaWorld Flags in your PHP pagesTraining Classes in other tongues
|
4086 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|