Speicher-Arrays
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 38 von 53.
Ein auf Vertragsebene deklariertes dynamisches Array befindet sich im Speicher. Verwende push(value), um ein Element anzuhängen, und pop(), um das letzte Element zu entfernen. Der Aufruf von pop bei einem leeren Array führt zu einem Revert. Seine Länge ändert sich, wenn Werte angehängt oder entfernt werden.
Deklariere dies auf Vertragsebene:
uint256[] values;Verwende es innerhalb der bereitgestellten main-Funktion:
values.push(6);
values.push(15);
values.pop();
console.log(values.length);
console.log(values[0]);Das Array beginnt in diesem Test leer. Zwei push-Aufrufe erstellen zwei Elemente, und pop entfernt das zweite. Das erste bleibt sechs. Das Aktualisieren eines Storage-Arrays ändert den Zustand des Vertrags, daher kann main nicht view sein.
push und pop ändern ein dynamisches Storage-Array an seinem Ende.
Aufgabe
EinfachDeklariere ein dynamisches uint256-Speicherarray namens values. Füge a, b und c hinzu, entferne das letzte Element und gib anschließend die Länge sowie den verbleibenden letzten Wert aus.
Die Tests übergeben main Argumente in dieser Reihenfolge: uint256 a, uint256 b, uint256 c. Jeder Test startet mit einem frischen Vertragszustand.
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 a, uint256 b, uint256 c) external {
// 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