Solidity-pure-functions
提供:Dev Guides
堅牢性-純粋な機能
純粋な関数は、状態を読み取ったり変更したりしないようにします。 関数は pure として宣言できます。 関数に次のステートメントが存在する場合、状態の読み取りと見なされ、コンパイラーはそのような場合に警告をスローします。
- 状態変数の読み取り。
- address(this).balanceまたは<address> .balanceへのアクセス。
- ブロック、tx、msg(msg.sigおよびmsg.dataを読み取ることができます)の特殊変数にアクセスします。
- pureとマークされていない関数を呼び出す。 *特定のオペコードを含むインラインアセンブリを使用します。
純粋な関数は、revert()およびrequire()関数を使用して、エラーが発生した場合に潜在的な状態の変更を元に戻すことができます。
ビュー関数を使用した以下の例を参照してください。
例
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;
}
}
link:/solidity/solidity_first_application [Solidity First Application]の章に記載されている手順を使用して、上記のプログラムを実行します。
出力
0: uint256: product 2
1: uint256: sum 3