Menu
Coddy logo textTech

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.

challenge icon

Sfida

Facile

Dichiara 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.
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Solidity