Exiger des conditions
Fait partie de la section Fondamentaux du Journey Solidity de Coddy. Leçon 46 sur 53.
Utilisez require(condition, message) pour rejeter un appel lorsqu’une condition attendue est fausse. Une condition remplie permet à l’exécution de continuer. Une exigence non satisfaite annule l’appel et ses modifications d’état. Validez une entrée avant de l’utiliser dans une opération qui dépend de cette condition.
Les instructions de cet extrait s’exécutent à l’intérieur de la fonction main fournie.
uint256 quantity = 7;
require(quantity > 0, "Positive quantity required");
console.log(quantity * 3);La valeur sept passe la vérification de quantité positive, donc le calcul affiche vingt et un. Si la quantité était nulle, l’appel serait plutôt annulé. Le message explique l’exigence qui a échoué il n’est pas affiché lors d’un appel réussi.
require poursuit l’exécution lorsque sa condition est vraie et annule l’exécution lorsqu’elle est fausse.
Défi
FacileExigez que le diviseur soit supérieur à zéro avec un message d’erreur explicite. Affichez ensuite le total divisé par le diviseur. Les tests de sortie visible utilisent des diviseurs positifs ; votre code doit tout de même inclure la vérification.
Les tests transmettent les arguments à main dans cet ordre : uint256 total, uint256 divisor. 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 précise.
Essayez vous-même
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 total, uint256 divisor) 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
10Règles des contrats
Exiger des conditionsReverts explicitesÉvénementsVisibilité et confidentialitéMises à jour vérifiées2Variables 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