Menu
Coddy logo textTech

Wywołania pomocnicze

Część sekcji Podstawy ścieżki Solidity w Coddy. Lekcja 24 z 53.

Jedna funkcja pomocnicza może wywołać inną funkcję pomocniczą, aby podzielić obliczenie na sensowne kroki. Zewnętrzna funkcja pomocnicza używa zwróconej wartości, a następnie zwraca własny wynik. Funkcję wewnętrzną można wywołać bezpośrednio po nazwie z innej funkcji w kontrakcie.

Zdefiniuj tę funkcję pomocniczą wewnątrz kontraktu:

function twice(uint256 n) internal pure returns (uint256) {
    return n * 2;
}
function adjusted(uint256 n) internal pure returns (uint256) {
    return twice(n) + 4;
}

Użyj jej wewnątrz podanej funkcji main:

console.log(adjusted(6));

adjusted wywołuje się dwukrotnie, co zwraca dwanaście, a następnie dodaje cztery. main widzi tylko końcowe szesnaście. Ten podział utrzymuje powtarzaną regułę podwajania w jednym miejscu, podczas gdy inna funkcja pomocnicza opisuje dodatkową korektę.

Wewnętrzna funkcja pomocnicza może bezpośrednio wywołać inną wewnętrzną funkcję pomocniczą, podając jej nazwę.

challenge icon

Wyzwanie

Łatwy

Napisz wewnętrzne funkcje pomocnicze oznaczone jako pure: doubleValue, zwracającą n pomnożone przez dwa, oraz withBonus, zwracającą doubleValue(n) plus pięć. Wypisz withBonus(points).

Testy przekazują argumenty do main w następującej kolejności: uint256 points. Każdy test rozpoczyna się ze świeżym stanem kontraktu.

Użyj console.log do wypisania żądanego wyniku. Wypisz tylko żądane wartości, po jednej w każdym wierszu, bez dodatkowych etykiet, chyba że zadanie określa inaczej.

Spróbuj swoich sił

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 points) external view {
        // Napisz 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