Recapitulação - Divisão Segura
Parte da seção Logic & Flow do Journey de Lua da Coddy — lição 34 de 54.
Desafio
FácilEscreva uma função safeDivide que receba a e b e retorne 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 realizar a operação de divisão com segurança. Crie uma função interna que realize a divisão e gere um erro se b for zero, então envolva-a com pcall() para capturar quaisquer erros.
Lógica:
- Crie uma função interna que verifique se
bé 0 - Se
bfor 0, chameerror("Cannot divide by zero") - Caso contrário, retorne
a / b - Use
pcall()para executar a função interna - Se for bem-sucedido, retorne
"Result: "seguido pelo resultado da divisão - Se ocorrer um erro, retorne
"Error: "seguido pela mensagem de erro
Parâmetros:
a(número): O dividendob(número): O divisor
Retorno: Uma string contendo "Result: " seguido pelo resultado da divisão, ou "Error: " seguido pela mensagem de erro (string)
Experimente você mesmo
function safeDivide(a, b)
-- Escreva o código aqui
end
Todas as lições de Logic & Flow
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çõesRecapitulação - Placar de recordes