Menu
Coddy logo textTech

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.

challenge icon

Wyzwanie

Łatwy

Zadeklaruj 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.
    }
}
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