Menu
Coddy logo textTech

Funzioni pure

Fa parte della sezione Fondamenti del percorso Solidity di Coddy. Lezione 23 di 53.

Una funzione pura calcola un risultato a partire dai suoi parametri e dai valori locali senza leggere né scrivere lo stato del contratto. Questo rende facile ragionare su un calcolo. Dichiarare una funzione pura è una promessa verificata dal compilatore, non una richiesta di cancellare dati.

Definisci questa funzione helper all'interno del contratto:

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

Usala all'interno della funzione main fornita:

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

La funzione di supporto ha bisogno solo della larghezza e dell'altezza. Restituisce il doppio della loro somma, quindi può essere pura. La funzione wrapper principale rimane view perché usa la console di debug; la funzione di supporto non contiene log né accessi allo stato.

Una funzione pura non legge né scrive lo stato del contratto.

challenge icon

Sfida

Facile

Crea una funzione helper interna pura chiamata triple che restituisca il triplo del suo input uint256. Stampa triple(value) da main.

I test passano gli argomenti a main in questo ordine: uint256 value. Ogni test inizia con uno stato del contratto nuovo.

Usa console.log per l'output richiesto. Stampa solo i valori richiesti, uno per riga, senza etichette aggiuntive, a meno che il compito non le specifichi.

Provalo tu

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 value) external view {
        // Scrivi qui la tua soluzione.
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Solidity