Przechodzenie przez tablice w pętli
Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 39 z 53.
Użyj licznika pętli jako indeksu tablicy, aby przetworzyć każdy element. Zacznij od zera i kontynuuj, dopóki licznik jest ściśle mniejszy od długości. Dzięki temu odwiedzisz ostatni prawidłowy indeks bez próby dostępu poza zakresem.
Instrukcje w tym fragmencie wykonują się wewnątrz udostępnionej funkcji main.
uint256[3] memory values = [uint256(2), 5, 8];
uint256 total = 0;
for (uint256 i = 0; i < values.length; i++) {
total += values[i];
}
console.log(total);Pętla odwiedza indeksy zero, jeden i dwa, dodając dwa, pięć i osiem. Warunek inkluzywny <= length próbowałby uzyskać dostęp do indeksu trzy i spowodowałby cofnięcie transakcji. Akumulator należy umieścić poza pętlą.
Użyj index < array.length, aby odwiedzić wszystkie prawidłowe indeksy bez przekraczania końca.
Wyzwanie
ŁatwyUmieść a, b i c w tablicy o stałym rozmiarze w pamięci. Użyj pętli, aby obliczyć i wypisać ich sumę.
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 dla wymaganego wyjścia. Wypisz tylko wymagane wartości, po jednej w każdym 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 view {
// Wpisz 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