annotate sort.lua @ 21:a400b906acca v4

Version 4: fixed an issue with the bank. Added Void Storage. Added Reagent Bank. Also removed stackable items from the export string
author Adam tegen <adam.tegen@gmail.com>
date Wed, 15 Oct 2014 08:38:53 -0500
parents e77e01abce98
children
rev   line source
adam@0 1 local _, AskMrRobot = ...
adam@0 2
adam@0 3 function AskMrRobot.spairs(t, order)
adam@0 4 -- collect the keys
adam@0 5 local keys = {}
adam@0 6 for k in pairs(t) do keys[#keys+1] = k end
adam@0 7
adam@0 8 -- if order function given, sort by it by passing the table and keys a, b,
adam@0 9 -- otherwise just sort the keys
adam@0 10 if order then
adam@0 11 table.sort(keys, function(a,b) return order(t, a, b) end)
adam@0 12 else
adam@0 13 table.sort(keys)
adam@0 14 end
adam@0 15
adam@0 16 -- return the iterator function
adam@0 17 local i = 0
adam@0 18 return function()
adam@0 19 i = i + 1
adam@0 20 if keys[i] then
adam@0 21 return keys[i], t[keys[i]]
adam@0 22 end
adam@0 23 end
adam@0 24 end