StarknetAstro

StarknetAstro

13_Cairo1.0のMap(マップ)

#13_Cairo1.0 中の Map(マップ)

この記事で使用されている Cairo コンパイラのバージョンは 2.0.0-rc0 です。Cairo は急速に更新されているため、異なるバージョンの文法にはわずかな違いがありますが、将来的には安定したバージョンに記事の内容を更新する予定です。

基本的な使い方#

Map は辞書(dictionary)とも呼ばれ、Cairo では辞書として扱われます。基本的な使い方は、データの作成、キーと値の挿入、データの読み取りです。いくつかの例を見てみましょう:

use core::debug::PrintTrait;
use dict::Felt252DictTrait;
use traits::Default;

fn main(){
    let mut map : Felt252Dict<felt252> = Default::default();
    map.insert(1,'shalom');
    map[1].print();
}

まず、辞書を作成するには、Default トレイトを使用する必要があります。これは初期状態の辞書を返すもので、型は Felt252Dict です。また、辞書の変数の型を指定する必要もあります。上記の作成された map の型はFelt252Dict<felt252>です。

Felt252Dictは現在 Cairo でサポートされている辞書のタイプであり、キーとして felt252 型の変数のみ使用できます。値は複数のタイプであることができます:u8u16u32u64u128felt252。そのため、Felt252Dict と名付けられています。

キーと値の挿入は、insert (key, value) メソッドを使用します。最初のパラメータはキーであり、2 番目のパラメータは値です。

データの読み取りは、中括弧にキーを追加することで行います map[key]

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。