Chiamate di supporto
Fa parte della sezione Fondamenti del percorso Solidity di Coddy. Lezione 24 di 53.
Una funzione di supporto può chiamarne un’altra per suddividere un calcolo in passaggi significativi. La funzione di supporto esterna usa il valore restituito e poi restituisce il proprio risultato. Una funzione interna può essere chiamata direttamente per nome da un’altra funzione nel contratto.
Definisci questa funzione di supporto all’interno del contratto:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}Usala all’interno della funzione main fornita:
console.log(adjusted(6));adjusted viene chiamata due volte, restituendo dodici, a cui poi vengono aggiunti quattro. main vede solo il sedici finale. Questa suddivisione mantiene la regola del raddoppio ripetuto in un unico punto, mentre un altro helper descrive l’aggiustamento aggiuntivo.
Un helper interno può chiamare direttamente per nome un altro helper interno.
Sfida
FacileScrivi gli helper interni puri doubleValue, che restituisce n moltiplicato per due, e withBonus, che restituisce doubleValue(n) più cinque. Stampa withBonus(points).
I test passano gli argomenti a main in quest'ordine: uint256 points. 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 points) external view {
// Scrivi qui la tua soluzione.
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
2Variabili e tipi
Interi senza segnoInput e outputInteri con segnoValori booleaniStringhe in memoriaScheda profilo5Funzioni
Parametri delle funzioniValori di ritornoFunzioni pureChiamate di supportoCalcoli riutilizzabiliEsercitati da solo: Playground Solidity