Zmienne stanu
Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 26 z 53.
Zmienne zadeklarowane wewnątrz kontraktu, ale poza każdą funkcją, są zmiennymi stanu. Funkcje w tym kontrakcie współdzielą tę zmienną. Zmienna lokalna zadeklarowana wewnątrz funkcji należy do danego wywołania. W przypadku wdrożonego łańcucha bloków pomyślne zmiany stanu mogą utrzymywać się między transakcjami.
Zadeklaruj ją w zakresie kontraktu:
uint256 count;Użyj jej wewnątrz udostępnionej funkcji main:
count = 6;
console.log(count);count jest zadeklarowane w zakresie kontraktu, a main przypisuje mu wartość. Ten moduł do uruchamiania ćwiczeń rozpoczyna każdy test z nowym, wyzerowanym magazynem, więc nie oczekuj, że jeden test będzie kontynuacją innego. W tej sekcji inicjalizuj stan przez przypisania wewnątrz main, a nie za pomocą inicjalizatorów deklaracji ani konstruktorów.
Zmienna stanu jest deklarowana w zakresie kontraktu, poza ciałami funkcji.
Wyzwanie
ŁatwyZadeklaruj zmienną stanu visits. W funkcji main ustaw ją na przekazaną wartość start, wywołaj wewnętrzną funkcję pomocniczą addVisit, która zwiększa wartość visits o jeden, a następnie wypisz wartość visits.
Testy przekazują argumenty do funkcji main w tej kolejności: uint256 start. Każdy test rozpoczyna się ze świeżym stanem kontraktu.
Użyj console.log, aby uzyskać wymagane dane wyjściowe. Wypisz tylko wymagane wartości, po jednej w każdym 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 start) external {
// 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 obliczeniaPoćwicz samodzielnie: Edytor online Solidity