lua overload: possibilities?

init, lua, overloading

Solution

Instead of using if/else statements, you can initialize your variables with a condition providing the default value.

function apples(taste, num)
  taste = taste or "yum"
  amount = num or 0
  -- ...
end

Lua's `or` operator evaluates and returns its first operand unless it is `nil` or `false`, otherwise it evaluates and returns its second operand. That leads to the above idiom for default values.

Problem

My group is currently working with Lua,creating an android game. One thing we've run into is the appearant inability to create overload constructors. I'm used to having an object set up with default values, that then get overloaded if need be. ex: ``` apples() { taste="yum"; amount = 0; } apples(string taste, int num) { taste=taste; amount=num; } ``` However, with the inability to do that, we have these lare if/else sections for initialization that look like this ``` if velX ~= nil then self.velX = velX else self.velX = 0 end if velY ~= nil then self.velY = velY else self.velY = 0 end ``` Is there a better way to set this up in Lua?

Original source