Bedingungen voraussetzen
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 46 von 53.
Verwende require(condition, message), um einen Aufruf abzulehnen, wenn eine erwartete Bedingung falsch ist. Eine erfolgreiche Bedingung lässt die Ausführung fortfahren. Eine fehlgeschlagene Anforderung macht den Aufruf und seine Zustandsänderungen rückgängig. Überprüfe eine Eingabe, bevor du sie in einer Operation verwendest, die von dieser Bedingung abhängt.
Die Anweisungen in diesem Ausschnitt werden innerhalb der bereitgestellten main-Funktion ausgeführt.
uint256 quantity = 7;
require(quantity > 0, "Positive quantity required");
console.log(quantity * 3);Der Wert sieben besteht die Prüfung auf eine positive Menge, daher gibt die Berechnung einundzwanzig aus. Wenn quantity null wäre, würde der Aufruf stattdessen zurückgesetzt. Die Meldung erklärt die fehlgeschlagene Anforderung; bei einem erfolgreichen Aufruf wird sie nicht ausgegeben.
require wird fortgesetzt, wenn seine Bedingung wahr ist, und zurückgesetzt, wenn sie falsch ist.
Aufgabe
EinfachStelle sicher, dass der Divisor größer als null ist, und verwende eine hilfreiche Fehlermeldung. Gib anschließend total geteilt durch den Divisor aus. Die Tests für die sichtbare Ausgabe verwenden positive Divisoren; dein Code muss die Prüfung trotzdem enthalten.
Die Tests übergeben die Argumente an main in dieser Reihenfolge: uint256 total, uint256 divisor. Jeder Test beginnt mit einem frischen Contract-Zustand.
Verwende console.log für die angeforderte Ausgabe. Gib nur die angeforderten Werte aus, jeweils einen pro Zeile, ohne zusätzliche Bezeichnungen, sofern die Aufgabe diese nicht vorgibt.
Probier es selbst
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 total, uint256 divisor) external view {
// Schreibe deine Lösung hier.
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
10Vertragsregeln
Bedingungen voraussetzenExplizite RevertsEventsSichtbarkeit und PrivatsphäreGeprüfte Aktualisierungen2Variablen und Datentypen
Vorzeichenlose GanzzahlenEingaben und AusgabenVorzeichenbehaftete GanzzahlenBoolesche WerteStrings im SpeicherProfilkarte5Funktionen
FunktionsparameterRückgabewerteReine FunktionenHilfsaufrufeWiederverwendbare BerechnungenÜbe selbstständig: Solidity-Playground