【Solidity】break文/continue文の使い方は?

break文/continue文の使い方について解説します。

構文

break文/continue文の使い方は、それぞれ、以下となります。

break文

ループ内にbreak文を挿入することで、breakに差し掛かった時点で、ループ自体を脱出します。

具体的にはサンプルコードを見て頂くとして、書き方は次のようになります。

break;

continue文

ループ内にcontinue文を挿入することで、continueに差し掛かった時点で、以降の処理をスキップします。

break文とは異なり、ループ自体を抜けるのではなく、あくまでcontinue文以降の処理を行わないだけとなります。(ループは続行されcontinue文以前の処理は行われます)

具体的にはサンプルコードを見て頂くとして、書き方は次のようになります。

continue;

サンプルコード

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Test {

    uint[] numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

    function testBreak() public view returns(uint) {
        uint sum = 0;
        uint8 i = 0;

        while(i < numbers.length) {
            sum += numbers[i];
            i++;
            // sumが6以上の場合、ループ自体(while文自体)を抜ける
            if (sum >= 6) { break; }

            sum += 1;
        }

        return sum;
    }

    function testContinue() public view returns(uint) {
        uint sum = 0;
        uint8 i = 0;

        while(i < numbers.length) {
            sum += numbers[i];
            i++;
            // sumが6以上の場合、以降の処理(34-35行目)をスキップ
            if (sum >= 6) { continue; }

            sum += 1;
        }

        return sum;
    }

}

break文/continue文はループ処理をより柔軟に行うために必要な知識となります。for文やwhile文などと併せておさえておきましょう。

タイトルとURLをコピーしました