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.
Wyzwanie
ŁatwyZadeklaruj 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.
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
2Zmienne i typy
Liczby całkowite bez znakuWejście i wyjścieLiczby całkowite ze znakiemWartości logiczneŁańcuchy znaków w pamięciKarta profilu5Funkcje
Parametry funkcjiZwracanie wartościFunkcje czysteWywołania pomocniczeWielokrotnego użytku obliczenia8Tablice
Tablice o stałym rozmiarzeTablice w pamięci dynamicznejTablice do przechowywania danychPrzechodzenie przez tablice w pętliPodsumowanie tablicPoćwicz samodzielnie: Edytor online Solidity