Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Lua script for fancy named parameters with default values
local fp = require "fancyparams"
myfunction = fp(
function(a, b, c)
print(a, b, c)
local unpack = unpack or table.unpack
local function fancyparams(arg_def,f)
return function(args)
local params = {}
for i=1, #arg_def do
local paramname = arg_def[i][1] --the name of the first parameter to the function
local default_value = arg_def[i][2]
params[i] = args[i] or args[paramname] or default_value
return f(unpack(params,1,#arg_def))
return fancyparams
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment