文字列から文字列への連想配列です。
状況: 概念実証レベル。まだ実用しないでください。
- ハッシュテーブル
- オープンアドレス法のハッシュテーブルにより実装されています。
- バイナリセーフ
- 値として str ではなく var+長さ を渡すかたちの命令では、渡した値がバイナリセーフに取り扱われます。
- つまり、NULL終端文字列ではないバイナリデータを持たせることができます。
- (キーは文字列でなければいけません。)
- 文字列1個
- 連想配列1個は1つの str 型変数に収まります。
- そのため、str 型の配列の各要素をそれぞれ連想配列にすることが可能です。
- (連想配列はバイナリデータなので、メモリ操作命令を除いて、str 型の引数に渡すことはできません。)
#include "mod_mapss.hsp"
// 変数を連想配列にします。m は str 型になります。
mapss_make m
// 値を追加します。同じキーがすでにあるときは何もしません。
mapss_insert m, "キー", "値"
// 値を追加または変更します。
mapss_set m, "キー", "値"
// 値を取得します。キーがないときは "" です。
assert mapss_get(m, "キー") == "値"
テストコード も参照してください。