Menu
Coddy logo textTech

Tablice do przechowywania danych

Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 38 z 53.

Dynamiczna tablica zadeklarowana w zakresie kontraktu jest przechowywana w storage. Użyj push(value), aby dodać element na końcu, i pop(), aby usunąć ostatni element. Wywołanie pop dla pustej tablicy powoduje revert. Jej długość zmienia się wraz z dodawaniem lub usuwaniem wartości.

Zadeklaruj to w zakresie kontraktu:

uint256[] values;

Użyj jej w podanej funkcji main:

values.push(6);
values.push(15);
values.pop();
console.log(values.length);
console.log(values[0]);

Tablica jest początkowo pusta w tym teście. Dwa wywołania push tworzą dwa elementy, a pop usuwa drugi z nich. Pierwszy pozostaje równy sześć. Aktualizacja tablicy w storage zmienia stan kontraktu, więc main nie może być funkcją view.

push i pop zmieniają dynamiczną tablicę storage na jej końcu.

challenge icon

Wyzwanie

Łatwy

Zadeklaruj dynamiczną tablicę pamięci masowej typu uint256 o nazwie values. Dodaj a, b i c, usuń ostatni element, a następnie wypisz długość i pozostałą ostatnią wartość.

Testy przekazują argumenty do main w tej kolejności: uint256 a, uint256 b, uint256 c. Każdy test rozpoczyna się ze świeżym stanem kontraktu.

Użyj console.log do wypisania wymaganych danych. Wypisz tylko wymagane wartości, po jednej w wierszu, bez dodatkowych etykiet, chyba że zadanie je określa.

Spróbuj swoich sił

// 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  {
        // Napisz tutaj swoje rozwiązanie.
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Solidity