Menu
Coddy logo textTech

Funciones puras

Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 23 de 53.

Una función pura realiza cálculos a partir de sus parámetros y valores locales sin leer ni escribir en el estado del contrato. Esto facilita el razonamiento sobre un cálculo. Marcar una función como pura es una promesa que comprueba el compilador, no una solicitud para borrar datos.

Define esta función auxiliar dentro del contrato:

function perimeter(uint256 w, uint256 h) internal pure returns (uint256) {
    return 2 * (w + h);
}

Úsala dentro de la función main proporcionada:

console.log(perimeter(8, 3));

El auxiliar solo necesita el ancho y la altura. Devuelve el doble de su suma, por lo que puede ser pura. El contenedor principal sigue siendo view porque utiliza la consola de depuración; el auxiliar en sí no contiene registros ni acceso al estado.

Una función pura no lee ni escribe el estado del contrato.

challenge icon

Desafío

Fácil

Crea un ayudante interno puro llamado triple que devuelva tres veces su entrada uint256. Imprime triple(value) desde main.

Las pruebas pasan argumentos a main en este orden: uint256 value. Cada prueba comienza con un estado del contrato nuevo.

Usa console.log para la salida solicitada. Imprime solo 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 value) external view {
        // Escribe tu solución aquí.
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Solidity