Hilfsaufrufe
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 24 von 53.
Eine Hilfsfunktion kann eine andere Hilfsfunktion aufrufen, um eine Berechnung in sinnvolle Schritte zu unterteilen. Die äußere Hilfsfunktion verwendet den zurückgegebenen Wert und gibt anschließend ihr eigenes Ergebnis zurück. Eine interne Funktion kann von einer anderen Funktion im Vertrag direkt über ihren Namen aufgerufen werden.
Definiere diese Hilfsfunktion innerhalb des Vertrags:
function twice(uint256 n) internal pure returns (uint256) {
return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
return twice(n) + 4;
}Verwende sie innerhalb der bereitgestellten main-Funktion:
console.log(adjusted(6));adjusted wird zweimal aufgerufen, was zwölf ergibt, und anschließend werden vier addiert. main sieht nur die abschließenden sechzehn. Diese Aufteilung hält die wiederholte Verdopplungsregel an einer Stelle, während ein anderer Helfer die zusätzliche Anpassung beschreibt.
Ein interner Helfer kann einen anderen internen Helfer direkt anhand seines Namens aufrufen.
Aufgabe
EinfachSchreibe reine interne Hilfsfunktionen doubleValue, die n mal zwei zurückgibt, und withBonus, die doubleValue(n) plus fünf zurückgibt. Gib withBonus(points) aus.
Die Tests übergeben main Argumente in dieser Reihenfolge: uint256 points. Jeder Test beginnt mit einem frischen Contract-Zustand.
Verwende console.log für die angeforderte Ausgabe. Gib nur die angeforderten Werte aus, 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 points) 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
2Variablen und Datentypen
Vorzeichenlose GanzzahlenEingaben und AusgabenVorzeichenbehaftete GanzzahlenBoolesche WerteStrings im SpeicherProfilkarte5Funktionen
FunktionsparameterRückgabewerteReine FunktionenHilfsaufrufeWiederverwendbare BerechnungenÜbe selbstständig: Solidity-Playground