Document pure functions

This commit is contained in:
Alex Beregszaszi 2017-08-16 20:51:47 +01:00
parent e9a9a07d94
commit 93e6e83093
2 changed files with 25 additions and 3 deletions

View File

@ -475,7 +475,7 @@ Functions can be declared ``view`` in which case they promise not to modify the
contract C {
function f(uint a, uint b) view returns (uint) {
return a * (b + 42);
return a * (b + 42) + now;
}
}
@ -488,6 +488,27 @@ Functions can be declared ``view`` in which case they promise not to modify the
.. warning::
The compiler does not enforce yet that a ``view`` method is not modifying state.
.. _pure-functions:
**************
Pure Functions
**************
Functions can be declared ``pure`` in which case they promise not to read from or modify the state.
::
pragma solidity ^0.4.0;
contract C {
function f(uint a, uint b) pure returns (uint) {
return a * (b + 42);
}
}
.. warning::
The compiler does not enforce yet that a ``pure`` method is not reading from the state.
.. index:: ! fallback function, function;fallback
.. _fallback-function:

View File

@ -500,12 +500,13 @@ Function Visibility Specifiers
- ``internal``: only visible internally
.. index:: modifiers, constant, anonymous, indexed
.. index:: modifiers, pure, view, payable, constant, anonymous, indexed
Modifiers
=========
- ``view`` for functions: Disallow modification of state - this is not enforced yet.
- ``pure`` for functions: Disallows modification or access of state - this is not enforced yet.
- ``view`` for functions: Disallows modification of state - this is not enforced yet.
- ``payable`` for functions: Allows them to receive Ether together with a call.
- ``constant`` for state variables: Disallows assignment (except initialisation), does not occupy storage slot.
- ``constant`` for functions: Same as ``view``.