Menu
Coddy logo textTech

Estructuras

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

Una estructura agrupa campos relacionados bajo un nombre de tipo personalizado. Cada campo tiene un tipo y un nombre, y los campos pueden tener tipos diferentes. Declara el tipo en el ámbito del contrato, crea un valor y después accede a sus campos con un punto.

Declara esto en el ámbito del contrato:

struct Parcel { uint256 weight; bool ready; }

Úsalo dentro de la función main proporcionada:

Parcel memory item = Parcel(11, true);
console.log(item.weight);
console.log(item.ready);

El tipo Parcel tiene los campos weight y ready. El constructor posicional proporciona valores en el orden de declaración. Este elemento vive en la memoria durante la llamada actual; declarar un tipo de estructura por sí solo no crea registros almacenados.

Usa un punto seguido del nombre del campo para leer o cambiar un campo de estructura.

challenge icon

Desafío

Fácil

Declara una estructura llamada Badge con uint256 level y bool active, en ese orden. Crea un Badge en memoria a partir de las entradas proporcionadas e imprime ambos campos.

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

Usa console.log para la salida solicitada. Imprime únicamente 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 level, bool active) external view {
        // 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