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文などと併せておさえておきましょう。