Exigir Condições
Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 46 de 53.
Use require(condition, message) para rejeitar uma chamada quando uma condição esperada for falsa. Uma condição satisfeita permite que a execução continue. Um requisito não atendido reverte a chamada e suas alterações de estado. Valide uma entrada antes de usá-la em uma operação que dependa dessa condição.
As instruções neste trecho são executadas dentro da função main fornecida.
uint256 quantity = 7;
require(quantity > 0, "Positive quantity required");
console.log(quantity * 3);O valor sete passa pela verificação de quantidade positiva, então o cálculo imprime vinte e um. Se quantity fosse zero, a chamada reverteria. Em vez disso, a mensagem explica o requisito que falhou; ela não é impressa durante uma chamada bem-sucedida.
require continua quando sua condição é verdadeira e reverte quando ela é falsa.
Desafio
FácilExija que o divisor seja maior que zero com uma mensagem de erro útil. Em seguida, imprima o total dividido pelo divisor. Os testes de saída visível usam divisores positivos; seu código ainda deve incluir essa verificação.
Os testes passam os argumentos para main nesta ordem: uint256 total, uint256 divisor. Cada teste começa com um estado novo do contrato.
Use console.log para a saída solicitada. Imprima apenas os valores solicitados, um por linha, sem rótulos adicionais, a menos que a tarefa os especifique.
Experimente você mesmo
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 total, uint256 divisor) external view {
// Escreva sua solução aqui.
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
10Regras de Contratos
Exigir CondiçõesReverts ExplícitosEventosVisibilidade e PrivacidadeAtualizações Verificadas2Variáveis e Tipos
Inteiros sem sinalEntradas e saídasInteiros com sinalValores booleanosStrings na memóriaCartão de perfil5Funções
Parâmetros de FunçãoRetorno de ValoresFunções PurasChamadas AuxiliaresCálculos ReutilizáveisPratique por conta própria: Playground de Solidity