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.
Desafio
FácilEscreva 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.
}
}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
2Variáveis e Tipos
Inteiros sem sinalEntradas e saídasInteiros com sinalValores booleanosStrings na memóriaCartão de perfil5Funções
Parâmetros de FunçãoRetorno de ValoresFunções PurasChamadas AuxiliaresCálculos ReutilizáveisPratique por conta própria: Playground de Solidity