Exercício 6
Exercício: Arrays Dinâmicos em Solidity
Neste exercício utilizaremos o conceito de arrays dinâmicos para armazenar uma lista de dados que iremos acumulando. Também veremos como modificar os valores de posições específicas do array e como recuperar a lista completa de valores do array.
Passos a seguir:
Programe o contrato no Remix,
Desimplante-o em uma rede de teste da Ethereum como Sepolia,
Publique e verifique o contrato utilizando um explorador de blocos,
Interaja com o contrato através do explorador de blocos adicionando pelo menos quatro valores ao array
storedInfos
,Modifique posições específicas de
storedInfos
usando a funçãoupdateInfo
,Leia o valor de posições específicas de
storedInfos
usando a funçãogetOneInfo
.
Código Solidity
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
/// @title Conceitos: array = lista de informações armazenadas
/// @author Solange Gueiros
contract FirsArray {
string[] private storedInfos;
/**
* Grava novos valores no array usando push()
* index devolve a posição na qual o valor foi gravado
*/
function addInfo(string memory myInfo) external returns (uint index) {
storedInfos.push(myInfo);
index = storedInfos.length - 1;
}
/**
* Modifica o valor da posição index do array com um novo valor
* Verifica se a posição é válida, senão devolve um erro
*/
function updateInfo(uint index, string memory newInfo) external {
require (index < storedInfos.length, "index inválido");
storedInfos[index] = newInfo;
}
/**
* Devolve o valor armazenado na posição index do array
* Verifica se a posição é válida, senão devolve um erro
*/
function getOneInfo(uint index) external view returns (string memory) {
require (index < storedInfos.length, "index inválido");
return storedInfos[index];
}
// Devolve todos os valores contidos no array
function listAllInfo() external view returns (string[] memory) {
return storedInfos;
}
}
Last updated