Lua en pares en el mismo orden en que está escrito

¿Hay alguna manera de recorrer una tabla como la siguiente en el mismo orden en que está escrita?

local tbl = {
    ["hello"] = 1,
    [2] = 2,
    [50] = 3,
    ["bye"] = 4,
    [200] = 5
}

Lo que quiero decir es que cuando uso "en pares" obtendré un orden diferente cada vez que ejecute mi código ...

Estoy buscando algo como esto:

function get_keys(tbl)
    local rtable = {}
    for k,v in pairs(tbl) do
        table.insert(rtable, k)
    end
    return rtable
end

local keys_of_tbl = get_keys(tbl)
for i = 1, table.getn(keys_of_tbl) do
    --Do something with: tbl[keys_of_tbl[i]]
end

Pero debido a que la función "get_keys" se basa en "en pares" nuevamente, no funcionará ...

Respuestas a la pregunta(3)

Su respuesta a la pregunta