Menu
Coddy logo textTech

Appels de fonctions auxiliaires

Fait partie de la section Fondamentaux du Journey Solidity de Coddy. Leçon 24 sur 53.

Un helper peut appeler un autre helper pour décomposer un calcul en étapes significatives. Le helper externe utilise la valeur renvoyée, puis renvoie son propre résultat. Une fonction interne peut être appelée directement par son nom depuis une autre fonction du contrat.

Définissez ce helper à l’intérieur du contrat :

function twice(uint256 n) internal pure returns (uint256) {
    return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
    return twice(n) + 4;
}

Utilisez-le dans la fonction main fournie :

console.log(adjusted(6));

adjusted est appelée deux fois, ce qui renvoie douze, puis ajoute quatre. main ne voit que les seize finaux. Cette division maintient la règle du doublement répété à un seul endroit, tandis qu’un autre utilitaire décrit l’ajustement supplémentaire.

Un utilitaire interne peut appeler directement un autre utilitaire interne par son nom.

challenge icon

Défi

Facile

Écrivez les fonctions auxiliaires internes doubleValue, qui renvoie n multiplié par deux, et withBonus, qui renvoie doubleValue(n) plus cinq. Affichez withBonus(points).

Les tests transmettent les arguments à main dans cet ordre : uint256 points. Chaque test commence avec un état de contrat vierge.

Utilisez console.log pour la sortie demandée. Affichez uniquement les valeurs demandées, une par ligne, sans étiquettes supplémentaires, sauf si la tâche les spécifie.

Essayez vous-même

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 points) external view {
        // Écrivez votre solution ici.
    }
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Playground Solidity