Condizioni obbligatorie
Fa parte della sezione Fondamenti del percorso Solidity di Coddy. Lezione 46 di 53.
Usa require(condition, message) per rifiutare una chiamata quando una condizione prevista è falsa. Se la condizione è soddisfatta, l’esecuzione continua. Se il requisito non è soddisfatto, la chiamata e le modifiche al suo stato vengono annullate. Convalida un input prima di usarlo in un’operazione che dipende da quella condizione.
Le istruzioni di questo estratto vengono eseguite all’interno della funzione main fornita.
uint256 quantity = 7;
require(quantity > 0, "Positive quantity required");
console.log(quantity * 3);Il valore sette supera il controllo sulla quantità positiva, quindi il calcolo stampa ventuno. Se quantity fosse zero, la chiamata verrebbe annullata invece. Il messaggio spiega il requisito non soddisfatto; non viene stampato durante una chiamata riuscita.
require continua quando la sua condizione è vera e annulla l'esecuzione quando è falsa.
Sfida
FacileVerifica che il divisore sia maggiore di zero con un messaggio di errore utile. Poi stampa total diviso divisor. I test dell’output visibile usano divisori positivi; il tuo codice deve comunque includere il controllo.
I test passano gli argomenti a main in questo ordine: uint256 total, uint256 divisor. 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 total, uint256 divisor) 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
10Regole dei contratti
Condizioni obbligatorieRevert esplicitiEventiVisibilità e privacyAggiornamenti verificati2Variabili 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