Ejercicio 6
En este ejercicio utilizaremos el concepto de arrays dinámicos para almacenar una lista de datos que iremos almacenando. También veremos cómo modificar los valores de posiciones específicas del array y cómo recuperar la lista completa de valores del array.
Pasos a seguir:
Programe el contrato en Remix,
Despliéguelo en una red de prueba de Ethereum como Sepolia,
Publique y verifique el contrato utilizando un explorador de bloques
Interactúe con el contrato a través del explorador de bloques añadiendo al menos cuatro valores al array
storedInfos
.Modifique posiciones específicas de
storedInfos
usando la funciónupdateInfo
.Lea el valor de posiciones espefícas de
storedInfos
usando la funcióngetOneInfo
.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
/// @title Concepts: array = list of infos stored
/// @author Solange Gueiros
contract FirsArray {
string[] private storedInfos;
/**
* Graba nuevos valores en el array usando push()
* index devuelve la posición en la que se grabó el valor
*/
function addInfo(string memory myInfo) external returns (uint index) {
storedInfos.push(myInfo);
index = storedInfos.length -1;
}
/**
* Modifica el valor de la posición index del array con un nuevo valor
* Verifica que la posición sea válida, sino devuelve un error
*/
function updateInfo(uint index, string memory newInfo) external {
require (index < storedInfos.length, "invalid index");
storedInfos[index] = newInfo;
}
/**
* Devuelve el valor almacenado en la posición index del array
* Verifica que la posición sea válida, sino devuelve un error
*/
function getOneInfo(uint index) external view returns (string memory) {
require (index < storedInfos.length, "invalid index");
return storedInfos[index];
}
// Devuelve todos los valores contenidos en el array
function listAllInfo() external view returns (string[] memory) {
return storedInfos;
}
}
Last updated
Was this helpful?