Arrays de Armazenamento
Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 38 de 53.
Um array dinâmico declarado no escopo do contrato fica armazenado. Use push(value) para adicionar um elemento e pop() para remover o último. Chamar pop em um array vazio causa uma reversão. Seu comprimento muda conforme valores são adicionados ou removidos.
Declare isto no escopo do contrato:
uint256[] values;Use-o dentro da função main fornecida:
values.push(6);
values.push(15);
values.pop();
console.log(values.length);
console.log(values[0]);O array começa vazio neste teste. Dois push criam dois elementos, e pop remove o segundo. O primeiro permanece como seis. Atualizar um array de armazenamento altera o estado do contrato, portanto main não pode ser view.
push e pop alteram um array de armazenamento dinâmico em seu final.
Desafio
FácilDeclare um array dinâmico de armazenamento uint256 chamado values. Adicione a, b e c, remova o último elemento e, em seguida, imprima o comprimento e o último valor restante.
Os testes passam os argumentos para main nesta ordem: uint256 a, uint256 b, uint256 c. Cada teste começa com um estado novo do contrato.
Use console.log para a saída solicitada. Imprima apenas os valores solicitados, um por linha, sem rótulos adicionais, a menos que a tarefa os especifique.
Experimente você mesmo
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 a, uint256 b, uint256 c) external {
// Escreva sua solução aqui.
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
2Variáveis e Tipos
Inteiros sem sinalEntradas e saídasInteiros com sinalValores booleanosStrings na memóriaCartão de perfil5Funções
Parâmetros de FunçãoRetorno de ValoresFunções PurasChamadas AuxiliaresCálculos Reutilizáveis8Arrays
Arrays de Tamanho FixoArrays de Memória DinâmicaArrays de ArmazenamentoPercorrendo ArraysResumo de ArraysPratique por conta própria: Playground de Solidity