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 trait を使用する必要があります。これは初期状態の辞書を返すものであり、型は Felt252Dict です。また、辞書内の変数の型を指定する必要もあります。上記の作成された map の型は Felt252Dict<felt252>
です。
Felt252Dict
は現在 Cairo でサポートされている辞書のタイプであり、キーとして felt252 型の変数のみを使用できます。値は複数の型にすることができます:u8
, u16
, u32
, u64
, u128
, felt252
。そのため、Felt252Dict と名付けられています。
キーと値の挿入は、insert (key, value) メソッドを使用します。最初のパラメータはキーであり、2 番目のパラメータは値です。
データの読み取りは、中括弧にキーを追加することで行います map[key]
。