Menu
Coddy logo textTech

Mapeos

Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 42 de 53.

Un mapeo asocia claves con valores en el almacenamiento. Declara mapping(keyType => valueType) en el ámbito del contrato y usa corchetes para leer o escribir una clave. Una clave en la que no se ha escrito devuelve el valor predeterminado del tipo de valor, como cero para uint256.

Decláralo en el ámbito del contrato:

mapping(uint256 => uint256) points;

Úsalo dentro de la función main proporcionada:

points[4] = 18;
console.log(points[4]);
console.log(points[5]);

La asignación cambia solo la clave cuatro. La clave cinco nunca se ha asignado y se lee como cero. Una asignación no proporciona una longitud ni una lista integrada de sus claves; realiza un seguimiento de las claves por separado si una aplicación necesita iterar.

Una clave de asignación no escrita se lee como el valor predeterminado de su tipo de valor.

challenge icon

Desafío

Fácil

Declara un mapping de claves uint256 a valores uint256 llamado scores. Asigna points a la clave player y después imprime scores[player] y scores[player + 1].

Las pruebas pasan argumentos a main en este orden: uint256 player, uint256 points. Cada prueba comienza con un estado del contrato nuevo.

Usa console.log para la salida solicitada. Imprime solo los valores solicitados, uno por línea, sin etiquetas adicionales a menos que la tarea las especifique.

Pruébalo tú mismo

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 player, uint256 points) external  {
        // Escribe tu solución aquí.
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Solidity