whileループ
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 32/53。
while ループは条件を確認し、その条件が真である間、ループ本体を繰り返します。更新は本体の中で制御します。ループが、最終的に条件を偽にできる何かを変更するようにしてください。
この抜粋の文は、提供された main 関数内で実行されます。
uint256 remaining = 3;
while (remaining > 0) {
console.log(remaining);
remaining--;
}カウンターは減少する前に出力されます。カウンターがゼロになると、次の条件チェックによってループが停止するため、符号なし減算がゼロの状態で実行されることはありません。減算がなければ、条件は永遠に真のままになります。
while ループには、最終的に条件を偽にする経路が必要です。
チャレンジ
簡単n から始めて、whileを使用して1までカウントダウンを出力し、その後stopを出力してください。n は 0 から 7 の間です。
テストはこの順序でmainに引数を渡します:uint256 n。各テストは新しいコントラクト状態で開始されます。
要求された出力にはconsole.logを使用してください。要求された値のみを、1行に1つずつ出力し、タスクで指定されていない限り、余分なラベルは付けないでください。
自分で試してみよう
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(uint256 n) external view {
// ここに解答を書いてください。
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Solidityプレイグラウンド