新しい "マップ" を定義します。マップは、Intent セッションの間、維持されます。"マップ" のデータ構造は、"ハッシュ テーブル" や "ルックアップ テーブル" と呼ばれることがあります。同じ名前で別のマップを定義する場合は、reset? 引数で既存のマップをクリアするかどうかを指定します。この関数は、常に True を返します。
データを保存したりデータを取得しようとする前に、defineMap()を呼び出す必要があります。これには、onCreate ルールが適しています。
defineMap ( mapName As Name, _
Optional reset? As Boolean = True ) As Boolean
| 引数 | [タイプ] | 説明 |
|---|---|---|
| mapName | Name | マップの名前です。 |
| reset? | ブール値 | 任意指定。True (既定)にし、同じ名前のマップが存在する場合は、その時点でマップ内のデータがクリアされます。False にすると、マップ内の既存のデータは何の影響も受けません。 |
Intent >defineMap(:myMap) --> True'myMap' という名前のマップを定義します。
Intent >defineMap(:myMap) --> True例 1 で定義したマップを再定義し、これまでに setMapValue()を使用して設定されたすべての値をクリアします。
Intent >defineMap(:myMap, reset? := False) --> True'myMap' という名前のマップ定義しようとします。しかし、この名前のマップが存在し、reset? が False にされているため、既存のマップはそのまま残されます。
Intent >defineMap(:myMap)
--> True
Intent >setMapValue(:myMap, :myStringValue, "A String")
--> True
Intent >setMapValue(:myMap, :myIntegerValue, 123)
--> True
Intent >defineMap(:myMap, reset? := False)
--> True
Intent >getMapKeys(:myMap)
--> {:myStringValue, :myIntegerValue}
Intent >getMapValue(:myMap, :myStringValue)
--> "A String"
Intent >getMapValue(:noMap, :noValue)
--> NoValue
Intent >deleteMapValue(:myMap, :myIntegerValue)
--> True
Intent >getMapValue(:myMap, :myIntegerValue)
--> NoValue