Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

n sei

eu tenho isso

function som(x,y)
    return x+y
end



function mult(x,y)
    return x*y
end
function fu(f,x,y)
    return f(x,y)
end

a = 12
b = 555
eba = {som,mult,math.pow}

res = {}
for i = 1, #eba do 
    res[i] = fu(eba[i],a,b) 
end

for i, v in pairs(res) do
    print(i,v)
end  

devia dar isso

1        567       
2        6660
3        (o resultado de "12 ^555")

mas da isso

1        567       
2        6660
3        1.#INF

pq? ajuda pf

1 resposta
solução!

Olá Daniel, peço desculpas pela demora no retorno

O problema nesse caso é que o resultado de 12 elevado a 555 (12⁵⁵⁵) é um número muito grande que vai além do limite suportado pela linguagem, por isso ele retorna apenas inf de infinito. Se fizer o teste com números menores como 5 ou 55 no lugar de 555 aparece o resultado do cálculo corretamente.