Skip to content

Latest commit

 

History

History

mod_mapss

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

mod_mapss

文字列から文字列への連想配列です。

状況: 概念実証レベル。まだ実用しないでください。

特徴

  • ハッシュテーブル
    • オープンアドレス法のハッシュテーブルにより実装されています。
  • バイナリセーフ
    • 値として 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, "キー") == "値"

テストコード も参照してください。