Menu
Coddy logo textTech

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.

challenge icon

Desafio

Fácil

Declare 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.
    }
}
quiz iconTeste seus conhecimentos

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

Pratique por conta própria: Playground de Solidity