Menu
Coddy logo textTech

Chamadas Auxiliares

Parte da seção Fundamentos do Journey de Solidity da Coddy. Lição 24 de 53.

Um helper pode chamar outro helper para dividir um cálculo em etapas significativas. O helper externo usa o valor retornado e, em seguida, retorna seu próprio resultado. Uma função interna pode ser chamada diretamente pelo nome a partir de outra função no contrato.

Defina este helper dentro do contrato:

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

Use-o dentro da função main fornecida:

console.log(adjusted(6));

adjusted chama duas vezes, o que retorna doze, e então adiciona quatro. main vê apenas o dezesseis final. Essa divisão mantém a regra de duplicação repetida em um só lugar, enquanto outro auxiliar descreve o ajuste adicional.

Um auxiliar interno pode chamar outro auxiliar interno diretamente pelo nome.

challenge icon

Desafio

Fácil

Escreva os auxiliares internos puros doubleValue, retornando n vezes dois, e withBonus, retornando doubleValue(n) mais cinco. Imprima withBonus(points).

Os testes passam argumentos para main nesta ordem: uint256 points. Cada teste começa com um estado novo do contrato.

Use console.log para a saída solicitada. Imprima apenas os valores solicitados, um por linha, sem rótulos extras, a menos que a tarefa os especifique.

Experimente você mesmo

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 points) external view {
        // Escreva sua solução aqui.
    }
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Solidity