function variadicSort (...) local t = {} for _, x in pairs{...} do table.insert(t, x) end table.sort(t) return unpack(t) end local testCases = { { x = 'lions, tigers, and', y = 'bears, oh my!', z = '(from the "Wizard of OZ")' }, { x = 77444, y = -12, z = 0 } } for i, case in ipairs(testCases) do x, y, z = variadicSort(case.x, case.y, case.z) print("\nCase " .. i) print("\tx = " .. x) print("\ty = " .. y) print("\tz = " .. z) end