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