問題一覧に戻る
初級関数
問題10: pure関数

Solidityのpure関数について学びます。pure関数は状態の読み取りも変更もしないことを約束します - パラメータのみを使用して計算を行います。view関数よりさらに制限が厳しいです。pure関数はユーティリティ関数、数学的計算、データ変換に最適です。view関数と同様に、pure関数の外部呼び出しはガスを消費しません。

pragma solidity ^0.8.0;

contract PureFunction {
// 2つの数値を足す
function add(uint256 a, uint256 b) public returns (uint256) {
return a + b;
}

// 計算式を実行
function calculate(uint256 x) public returns (uint256) {
return x * 2 + 10;
}

// 文字列を結合
function concat(string memory a, string memory b) public
returns (string memory) {
return string(abi.encodePacked(a, b));
}
}