Solidità - Funzioni pure
Le funzioni pure assicurano che non leggano o modificano lo stato. Una funzione può essere dichiarata comepure. Le seguenti istruzioni, se presenti nella funzione, sono considerate come la lettura dello stato e il compilatore lancerà un avviso in questi casi.
Lettura delle variabili di stato.
Accesso all'indirizzo (this) .balance o <address> .balance.
Accedere a una qualsiasi delle variabili speciali di block, tx, msg (msg.sig e msg.data possono essere letti).
Chiamare qualsiasi funzione non contrassegnata come pura.
Utilizzo dell'assieme in linea che contiene determinati codici operativi.
Le funzioni pure possono utilizzare le funzioni revert () e require () per annullare potenziali cambiamenti di stato se si verifica un errore.
Vedere l'esempio di seguito utilizzando una funzione di visualizzazione.
Esempio
pragma solidity ^0.5.0;
contract Test {
function getResult() public pure returns(uint product, uint sum){
uint a = 1;
uint b = 2;
product = a * b;
sum = a + b;
}
}
Eseguire il programma di cui sopra utilizzando i passaggi forniti nel capitolo Solidity First Application .
Produzione
0: uint256: product 2
1: uint256: sum 3