1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
printt = function(t)
  for k, v in pairs(t) do print(string.format('{%d, %d}', v[1], v[2])) end
  print()
end

a = {{1,2}, {3,4}, {1,3}, {2,4}, {1,8}}
printt(a)
table.sort(a, function(b, c) return b[1] < c[1] or (b[1] == c[1] and b[2] < c[2]) end)
printt(a)
table.sort(a, function(b, c) return b[1]^2 + b[2]^2 < c[1]^2 + c[2]^2 end)
printt(a)