Condiciones require
Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 46 de 53.
Usa require(condition, message) para rechazar una llamada cuando una condición esperada sea falsa. Una condición exitosa permite que la ejecución continúe. Un requisito fallido revierte la llamada y sus cambios de estado. Valida una entrada antes de usarla en una operación que dependa de esa condición.
Las instrucciones de este fragmento se ejecutan dentro de la función main proporcionada.
uint256 quantity = 7;
require(quantity > 0, "Positive quantity required");
console.log(quantity * 3);El valor siete supera la comprobación de cantidad positiva, por lo que el cálculo imprime veintiuno. Si la cantidad fuera cero, la llamada se revertiría en su lugar. El mensaje explica el requisito incumplido; no se imprime durante una llamada exitosa.
require continúa cuando su condición es verdadera y revierte cuando es falsa.
Desafío
FácilExige que el divisor sea mayor que cero con un mensaje de error útil. Después imprime el total dividido por el divisor. Las pruebas de salida visible usan divisores positivos; tu código aún debe incluir la comprobación.
Las pruebas pasan los argumentos a main en este orden: uint256 total, uint256 divisor. Cada prueba comienza con un estado de contrato nuevo.
Usa console.log para la salida solicitada. Imprime únicamente los valores solicitados, uno por línea, sin etiquetas adicionales a menos que la tarea las especifique.
Pruébalo tú mismo
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 total, uint256 divisor) external view {
// Escribe tu solución aquí.
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
10Reglas de los contratos
Condiciones requireReversiones explícitasEventosVisibilidad y privacidadActualizaciones verificadas2Variables y tipos
Enteros sin signoEntradas y salidasEnteros con signoValores booleanosCadenas en memoriaTarjeta de perfil5Funciones
Parámetros de funcionesValores de retornoFunciones purasLlamadas auxiliaresCálculos reutilizablesPractica por tu cuenta: Playground de Solidity