Arrays de memoria dinámica
Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 37 de 53.
Usa new uint256[](length) para asignar un array en memoria con una longitud elegida en tiempo de ejecución. Sus elementos comienzan en cero. Aunque el tipo usa corchetes vacíos, el array en memoria asignado no se puede redimensionar con push o pop.
Las instrucciones de este fragmento se ejecutan dentro de la función main proporcionada.
uint256[] memory values = new uint256[](3);
values[1] = 19;
console.log(values.length);
console.log(values[0]);El array tiene tres posiciones y solo se asignó la posición central. Su primer elemento permanece en cero. La propiedad de longitud indica cuántos elementos existen, no el valor del último elemento.
Un array de memoria uint256 recién asignado comienza con elementos cuyo valor es cero.
Desafío
FácilAsigna un array de memoria de longitud n, establece su último elemento en marker y, después, imprime su longitud y su último elemento. n está entre 1 y 8.
Las pruebas pasan argumentos a main en este orden: uint256 n, uint256 marker. Cada prueba comienza con un estado del contrato nuevo.
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 n, uint256 marker) external view {
// Escribe tu solución aquí.
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
10Reglas de los contratos
Condiciones requireReversiones explícitasEventosVisibilidad y privacidadActualizaciones verificadas2Variables y tipos
Enteros sin signoEntradas y salidasEnteros con signoValores booleanosCadenas en memoriaTarjeta de perfil5Funciones
Parámetros de funcionesValores de retornoFunciones purasLlamadas auxiliaresCálculos reutilizables8Arrays
Arrays de tamaño fijoArrays de memoria dinámicaArrays de almacenamientoRecorrido de ArraysResumen de ArraysPractica por tu cuenta: Playground de Solidity