Llamadas auxiliares
Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 24 de 53.
Un helper puede llamar a otro helper para dividir un cálculo en pasos significativos. El helper externo utiliza el valor devuelto y después devuelve su propio resultado. Se puede llamar directamente a una función interna por su nombre desde otra función del contrato.
Define este helper dentro del contrato:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}Úsalo dentro de la función main proporcionada:
console.log(adjusted(6));adjusted se llama dos veces, lo que devuelve doce, y después suma cuatro. main solo ve los dieciséis finales. Esta división mantiene la regla de duplicación repetida en un solo lugar, mientras que otro auxiliar describe el ajuste adicional.
Un auxiliar interno puede llamar directamente por su nombre a otro auxiliar interno.
Desafío
FácilEscribe los ayudantes internos puros doubleValue, que devuelva n multiplicado por dos, y withBonus, que devuelva doubleValue(n) más cinco. Imprime withBonus(points).
Las pruebas pasan argumentos a main en este orden: uint256 points. Cada prueba comienza con un estado del 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 points) 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