parsav  Diff

Differences From Artifact [3d397d42e6]:

To Artifact [e762fc8997]:


    92     92   		for _, v in pairs(b) do a[#a+1] = v end
    93     93   	end;
    94     94   	has = function(haystack,needle,eq)
    95     95   		eq = eq or function(a,b) return a == b end
    96     96   		for k,v in pairs(haystack) do
    97     97   			if eq(needle,v) then return k end
    98     98   		end
           99  +	end;
          100  +	keys = function(ary)
          101  +		local kt = {}
          102  +		for k,v in pairs(ary) do kt[#kt+1] = k end
          103  +		return kt
    99    104   	end;
   100    105   	ingest = function(f)
   101    106   		local h = io.open(f, 'r')
   102    107   		if h == nil then return nil end
   103    108   		local txt = f:read('*a') f:close()
   104    109   		return chomp(txt)
   105    110   	end;