Revisão - Divisão segura
Parte da seção Lógica e fluxo do Journey de Lua da Coddy. Lição 34 de 54.
Desafio
FácilEscreva uma função safeDivide que recebe a e b e retorna o resultado da divisão de a por b ou uma mensagem de erro se a divisão falhar.
A função deve usar pcall() para executar a operação de divisão com segurança. Crie uma função interna que realiza a divisão e gera um erro se b for zero; em seguida, envolva-a com pcall() para capturar quaisquer erros.
Lógica:
- Crie uma função interna que verifica se
bé 0 - Se
bfor 0, chameerror("Cannot divide by zero", 0)(o0omite o nome do arquivo e o número da linha da mensagem) - Caso contrário, retorne
a / b - Use
pcall()para executar a função interna - Se for bem-sucedida, retorne
"Result: "seguido do resultado da divisão - Se ocorrer um erro, retorne
"Error: "seguido da mensagem de erro
Parâmetros:
a(número): O dividendob(número): O divisor
Retorno: Uma string contendo "Result: " seguido do resultado da divisão ou "Error: " seguido da mensagem de erro (string)
Experimente você mesmo
function safeDivide(a, b)
-- Escreva o código aqui
end
Todas as lições de Lógica e fluxo
1Iteração avançada de tabelas
Iterando com pairs()Iterando com ipairs()pairs() vs. ipairs()Revisão - Ficha de personagem2Mais funções da biblioteca table
table.concat()Construção de tabelas e unpack()table.sort()Ordenação personalizada com funçõesRevisão - Placar de pontuações máximasPratique por conta própria: Compilador de Lua online