Bibliotecas en Solidity
Ayudantes puros, injertados a un tipo con using-for.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
// A library holds pure helpers; using-for grafts them onto a type.
library Fruit {
function toCrates(uint256 kg) internal pure returns (uint256) {
return kg / 18;
}
function isBumper(uint256 kg) internal pure returns (bool) {
return kg > 500;
}
}
contract SeasonReport {
using Fruit for uint256;
function summarize(uint256 kg) external pure returns (uint256) {
require(kg.isBumper(), "an ordinary year");
return kg.toCrates();
}
}
Cómo funciona
library Fruitguarda funciones internal pure.using Fruit for uint256las vuelve métodos.kg.toCrates()se lee como si uint256 siempre lo tuviera.
Palabras clave y builtins usados aquí
boolcontractexternalforfunctioninternallibraryrequirereturnreturnsuint256
El intento, en números
- Líneas
- 22
- Caracteres a escribir
- 492
- Tokens
- 89
- Ritmo de tres estrellas
- 55 tpm
Al ritmo de tres estrellas de 55 tokens por minuto, este intento toma unos 97 segundos.
Paso 4 de 4 en Composición; paso 20 de 28 en Fundamentos del lenguaje.