Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Verifica 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.
    }
}
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