#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 型の変数のみ使用できます。値は複数のタイプであることができます:u8
、u16
、u32
、u64
、u128
、felt252
。そのため、Felt252Dict と名付けられています。
キーと値の挿入は、insert (key, value) メソッドを使用します。最初のパラメータはキーであり、2 番目のパラメータは値です。
データの読み取りは、中括弧にキーを追加することで行います map[key]
。