Resumen de reservas
Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 53 de 53.
Desafío
DifícilDefine la estructura Booking con capacidad uint256 y reservado uint256. Inicializa un Booking en memoria usando las dos primeras entradas. Usa un ayudante interno puro para decidir si requested cabe en la capacidad restante. Si cabe, añade requested a reserved. Imprime la decisión, el recuento final de reserved y la capacidad restante. El recuento inicial de reserved nunca supera la capacidad.
Las pruebas pasan argumentos a main en este orden: uint256 capacity, uint256 reserved, uint256 requested. 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 capacity, uint256 reserved, uint256 requested) external view {
// Escribe tu solución aquí.
}
}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