Menu
Coddy logo textTech

ストレージ配列

CoddyのSolidityジャーニー「基礎」セクションの一部。レッスン 38/53。

コントラクトスコープで宣言された動的配列はストレージに格納されます。push(value)を使うと要素を追加でき、pop()を使うと最後の要素を削除できます。空の配列に対してpopを呼び出すと、処理が取り消されます。値が追加または削除されると、その長さは変化します。

これをコントラクトスコープで宣言します。

uint256[] values;

提供されているmain関数内で使用します。

values.push(6);
values.push(15);
values.pop();
console.log(values.length);
console.log(values[0]);

このテストでは、配列は空の状態から始まります。2回のpushによって2つの要素が作成され、popによって2番目の要素が削除されます。最初の要素は6のままです。storage配列を更新するとコントラクトの状態が変更されるため、mainをviewにすることはできません。

pushとpopは、動的なstorage配列の末尾を変更します。

challenge icon

チャレンジ

簡単

values という名前の動的な uint256 ストレージ配列を宣言します。a、b、c を追加し、最後の要素を削除してから、length と残った最後の値を出力します。

テストでは、次の順序で main に引数を渡します: uint256 auint256 buint256 c。各テストは新しいコントラクト状態で開始されます。

要求された出力には console.log を使用します。要求された値のみを、1 行に 1 つずつ出力してください。タスクで指定されていない限り、追加のラベルは付けません。

REQUIRED OUTPUT FORMAT: [翻訳した内容]

自分で試してみよう

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
    function main(uint256 a, uint256 b, uint256 c) external  {
        // ここに解答を書いてください。
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Solidityプレイグラウンド