Mapping
Fa parte della sezione Fondamenti del percorso Solidity di Coddy. Lezione 42 di 53.
Una mapping associa chiavi a valori nell'archiviazione. Dichiara mapping(keyType => valueType) a livello del contratto e usa le parentesi quadre per leggere o scrivere una chiave. Una chiave a cui non è stato assegnato un valore restituisce il valore predefinito del tipo di valore, ad esempio zero per uint256.
Dichiara questa mapping a livello del contratto:
mapping(uint256 => uint256) points;Usala all'interno della funzione main fornita:
points[4] = 18;
console.log(points[4]);
console.log(points[5]);L'assegnazione modifica solo la chiave quattro. Alla chiave cinque non è mai stato assegnato un valore e il suo valore è zero. Una mappatura non fornisce una lunghezza né un elenco integrato delle proprie chiavi; tieni traccia delle chiavi separatamente se un'applicazione deve iterarle.
Una chiave di mappatura a cui non è stato assegnato un valore restituisce il valore predefinito del tipo del suo valore.
Sfida
FacileDichiara una mappatura da chiavi uint256 a valori uint256 chiamata scores. Assegna points alla chiave player, poi stampa scores[player] e scores[player + 1].
I test passano gli argomenti a main in questo ordine: uint256 player, uint256 points. Ogni test inizia con uno stato del contratto nuovo.
Usa console.log per l’output richiesto. Stampa solo i valori richiesti, uno per riga, senza etichette aggiuntive, a meno che il compito non le specifichi.
Provalo tu
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 player, uint256 points) external {
// Scrivi qui la tua soluzione.
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
2Variabili e tipi
Interi senza segnoInput e outputInteri con segnoValori booleaniStringhe in memoriaScheda profilo5Funzioni
Parametri delle funzioniValori di ritornoFunzioni pureChiamate di supportoCalcoli riutilizzabiliEsercitati da solo: Playground Solidity