累計
CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 33/53。
アキュムレーターは、ループの進行に伴って結果を格納します。各反復処理が前回の合計値に基づいて進むように、ループの前に初期化します。省略形の total += value は、total = total + value と同じ意味です。
この抜粋の文は、提供されている main 関数内で実行されます。
uint256 total = 0;
for (uint256 i = 1; i <= 4; i++) {
total += i;
}
console.log(total);アキュムレーターは1、3、6、10を通過します。ループの後に出力すると、最終結果だけが表示されます。各反復の中でtotalを再初期化すると、それまでの処理が破棄されます。
ループの前にアキュムレーターを初期化し、ループ内で更新します。
チャレンジ
簡単ループを使用して 1 から n までの整数を加算し、その合計を出力してください。n は 0 から 15 の範囲です。
テストは次の順序で 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プレイグラウンド