|
Henk Boom wrote:
(I've just realized I wrote ReturnSixIncrementalValuesFromZeroToSix() instead of ReturnSixIncrementalValuesFromOneToSix(), oops!)local tbl = {... ..., 7, 8, 9} would be a bit strange, no? Henk
Well, we need a way to expand and insert all the args of the cmd into a table, it's a very useful feature IMHO, and I was bitten quite a few times when I started working with Lua tables for the first time. Personally I think it makes more sense for all the arguments to be pass out, but then it makes it very hard I guess to handle cases like:
local varA, varB = FooTwoNums() + 5Do you add five to the first or the second number? Or both? What happens if there are more returns then there are allocations? Do we do a mass additional on all of them SIMD style (though obviously not actual SIMD code)? What if the type of the values aren't a number? Do we move on to the next return value? Do we error? Or do we do nothing?
Although I guess that SIMD thing could be nifty in some cases, you know, mass applying a set of ops on multiple values at once. If the parser could take that into account I'm all but certain it would be possible to do a micro-optimization at that point. Then again, the vanilla Lua compiler isn't an optimizing compiler according to the wiki.
Olivier