問題一覧に戻る
中級関数
問題56: 関数修飾子
Solidityでカスタム関数修飾子を作成する方法を学習します - 関数の前後で実行される再利用可能なコードです。修飾子は特別な_(アンダースコア)プレースホルダーを使用して、修飾された関数の本体が実行される場所を示します。アクセス制御、検証、状態チェックに最適です。修飾子はパラメータを受け取り、複雑なロジックを実行できます。コードをより読みやすくし、重複を減らします。修飾子の理解はセキュリティパターン、リエントランシーガード、スマートコントラクトでの複雑な検証ロジックの実装に不可欠です。クリーンで安全なコントラクトアーキテクチャの基礎です。
pragma solidity ^0.8.0;
contract Counter {
uint256 public count;
// 修飾子の定義
nonZero(uint256 x) {
require(x > 0, "Must be positive");
;
}
// 修飾子を使用
function increment(uint256 amount) public (amount) {
count += amount;
}
}