refactoring

This commit is contained in:
Manuel Simon Hirsig
2016-09-05 09:34:41 +02:00
parent 5fc37fe404
commit 843cfecbbf
3 changed files with 14 additions and 8 deletions
+12 -7
View File
@@ -117,7 +117,7 @@ do
local function pseudo_literal(mode)
local upvals = {setmetatable=setmetatable, setn=table.setn, error=error}
local mt = {__call = pseudo_vararg_function(insert_chunk(mode) .. 'setmetatable(a1, nil); return a1', upvals)}
return function() return setmetatable(acquire_temp(), mt) end
return function() return setmetatable(acquire(), mt) end
end
public.S.get = pseudo_literal'k'
public.A.get = pseudo_literal'v'
@@ -125,10 +125,15 @@ do
public.T.get = pseudo_literal'kv'
end
do
local body = ''
for i = 2, 100 do
body = body .. format('if a1 == %d then return %s end;', i, arg_chunk(i, 100))
end
public.select = pseudo_vararg_function(body)
--do
-- local body = ''
-- for i = 2, 100 do
-- body = body .. format('if a1 == %d then return %s end;', i, arg_chunk(i, 100))
-- end
-- public.select = pseudo_vararg_function(body)
--end
function public.select(i, ...) temp=arg
while i > 1 do i = i - 1; tremove(arg, i) end
return tremove(arg, 1), unpack(arg)
end
+1
View File
@@ -239,6 +239,7 @@ do
) do
if not self[parser[1]] then
tinsert(parser, str)
p(str, p(unpack(parser)), p(select(3, unpack(parser))))
local index, label = parser[2](select(3, unpack(parser)))
if index then
self[parser[1]] = A(label, index)
+1 -1
View File
@@ -372,7 +372,7 @@ end
function public.item_class_index(item_class)
for i, class in temp-A(GetAuctionItemClasses()) do
if item_class == nil then error() end
if type(item_class) ~= 'string' then error() end
if strupper(class) == strupper(item_class) then
return i, class
end