Zuordnungen
Teil des Abschnitts Grundlagen der Solidity-Journey von Coddy. Lektion 42 von 53.
Ein Mapping ordnet Schlüssel Werten im Speicher zu. Deklariere mapping(keyType => valueType) auf Vertragsebene und verwende eckige Klammern, um einen Schlüssel zu lesen oder zu schreiben. Ein nicht beschriebener Schlüssel liefert den Standardwert des Werttyps, beispielsweise null für uint256.
Deklariere dies auf Vertragsebene:
mapping(uint256 => uint256) points;Verwende es innerhalb der bereitgestellten Funktion main:
points[4] = 18;
console.log(points[4]);
console.log(points[5]);Die Zuweisung ändert nur Schlüssel vier. Schlüssel fünf wurde nie zugewiesen und wird als null gelesen. Eine Zuordnung stellt weder eine Länge noch eine integrierte Liste ihrer Schlüssel bereit; verfolge die Schlüssel separat, wenn eine Anwendung eine Iteration benötigt.
Ein nicht beschriebener Zuordnungsschlüssel wird als Standardwert seines Werttyps gelesen.
Aufgabe
EinfachDeklariere eine Zuordnung von uint256-Schlüsseln zu uint256-Werten mit dem Namen scores. Weise dem Schlüssel player points zu und gib anschließend scores[player] und scores[player + 1] aus.
Die Tests übergeben Argumente an main in dieser Reihenfolge: uint256 player, uint256 points. Jeder Test beginnt mit einem neuen Vertragszustand.
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 player, uint256 points) 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