Passing multiple results back from a function - Lua, Python, etc
Have you ever wondered why you can pass in as many parameters as you like to a function, but only return one? It seems rather unfair, doesn't it - especially as you may have lots of results.
In fact, in some languages such as Lua you can pass multiple values back:
a,b,c = symie(4,7,9)
(see source code
and in others such as Python and Perl you can return one collection
which contains multiple items. Here's an example return in Python:
return (net, tax)
and the code that collects the two return values from the function:
shop, taxman = both(amount)
(see source code of function
Even less directly, you can return hashes, lists or objects in other languages, and in C you can return a pointer to a structure. Perl often sets special global variables (to take what I sometimes describe as 'side effect' results) which are all well and good if you know what is happening, and most languages allow some sort of global variable which is OK if used in extreme moderation! (written 2009-08-13)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesU106 - Lua - Functions. 
Functions are first class variables in Lua and Python - (2012-04-13) 
Lua - variable function arguments and select - (2010-09-08) 
Returning multiple values from a function - Lua - (2010-04-15) 
Lua examples - coroutines, error handling, objects, etc - (2009-10-15) 
Dot, dot, dot in Lua - variable length parameter lists - (2009-08-11) 
What are closures in Lua? - (2009-07-31) 
Lua - IAQ (Infrequently Answered Questions) - (2008-10-18) 
Lua examples, Lua Courses - (2008-08-08) 
First class functions in Lua lead to powerful OO facilities - (2008-08-07) 
If you are learning Lua, here are some more examples - (2008-07-06) 
Sorting in lua - specifying your own sort routine - (2008-07-05) 
Short circuit evaluation (lazy operator) in Lua - (2008-06-22)
Some other Articles
Error Handling in Lua with assert and pcallA fresh example - objects the Lua wayEncapsulating shared code in a Lua moduleChecking if the user has entered a number (Lua)Passing multiple results back from a function - Lua, Python, etcSee this page in FrenchTraining, Open Source computer languagesAll change - Wiltshire ParliamentaryPrinted Directories - the start of the updating seasonTernary operators alternatives - Perl and Lua lazy operators
4206 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, 83, 84, 85 at 50 posts per page
This is a page archived from The Horse's Mouth at
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).