Tablice w pamięci dynamicznej
Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 37 z 53.
Użyj new uint256[](length), aby przydzielić w pamięci tablicę o długości wybranej w czasie działania programu. Jej elementy początkowo mają wartość zero. Chociaż typ używa pustych nawiasów kwadratowych, przydzielonej tablicy w pamięci nie można zmieniać za pomocą push ani pop.
Instrukcje w tym fragmencie wykonują się wewnątrz podanej funkcji main.
uint256[] memory values = new uint256[](3);
values[1] = 19;
console.log(values.length);
console.log(values[0]);Tablica ma trzy miejsca i przypisano wartość tylko do środkowego miejsca. Jej pierwszy element pozostaje równy zero. Właściwość długości informuje, ile istnieje elementów, a nie o wartości ostatniego elementu.
Nowo zaalokowana tablica pamięci typu uint256 rozpoczyna z elementami o wartości zero.
Wyzwanie
ŁatwyPrzydziel w pamięci tablicę o długości n, ustaw jej ostatni element na marker, a następnie wypisz jej długość i ostatni element. n jest z przedziału od 1 do 8.
Testy przekazują argumenty do main w tej kolejności: uint256 n, uint256 marker. Każdy test rozpoczyna się od świeżego stanu kontraktu.
Użyj console.log do uzyskania wymaganego wyniku. Wypisz tylko wymagane wartości, po jednej w wierszu, bez dodatkowych etykiet, chyba że zadanie ich wymaga.
Spróbuj swoich sił
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n, uint256 marker) external view {
// 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