Fonctions pures
Fait partie de la section Fondamentaux du Journey Solidity de Coddy. Leçon 23 sur 53.
Une fonction pure effectue ses calculs à partir de ses paramètres et de ses valeurs locales, sans lire ni modifier l’état du contrat. Cela rend un calcul facile à comprendre. Déclarer une fonction comme pure est une promesse vérifiée par le compilateur, et non une demande d’effacer des données.
Définissez cet utilitaire à l’intérieur du contrat :
function perimeter(uint256 w, uint256 h) internal pure returns (uint256) {
return 2 * (w + h);
}Utilisez-le dans la fonction main fournie :
console.log(perimeter(8, 3));L’auxiliaire a seulement besoin de la largeur et de la hauteur. Il renvoie deux fois leur somme, il peut donc être pur. Le wrapper principal reste une vue, car il utilise la console de débogage ; l’auxiliaire lui-même ne contient ni journalisation ni accès à l’état.
Une fonction pure ne lit ni ne modifie l’état du contrat.
Défi
FacileCréez un helper interne pur nommé triple qui renvoie trois fois son entrée uint256. Affichez triple(value) depuis main.
Les tests transmettent les arguments à main dans cet ordre : uint256 value. 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 libellés 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 value) external view {
// Écrivez votre solution ici.
}
}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
2Variables et types
Entiers non signésEntrées et sortiesEntiers signésValeurs booléennesChaînes en mémoireCarte de profil5Fonctions
Paramètres des fonctionsValeurs de retourFonctions puresAppels de fonctions auxiliairesCalculs réutilisablesEntraînez-vous par vous-même : Playground Solidity