defineMap()

概要

新しい "マップ" を定義します。マップは、Intent セッションの間、維持されます。"マップ" のデータ構造は、"ハッシュ テーブル" や "ルックアップ テーブル" と呼ばれることがあります。同じ名前で別のマップを定義する場合は、reset? 引数で既存のマップをクリアするかどうかを指定します。この関数は、常に True を返します。

データを保存したりデータを取得しようとする前に、defineMap()を呼び出す必要があります。これには、onCreate ルールが適しています。

構文

defineMap ( mapName As Name, _
            Optional reset? As Boolean = True ) As Boolean 
引数 [タイプ] 説明
mapName [名前] マップの名前です。
reset? boolean 任意指定。True (既定)に設定し、同じ名前のマップが存在する場合は、その時点でマップ内のデータがクリアされます。False にすると、マップ内の既存のデータは何の影響も受けません。

例 1

初期定義
Intent >defineMap(:myMap) 
--> True 
'myMap' という名前のマップを定義します。

例 2

再定義(reset? が既定の True の場合)
Intent >defineMap(:myMap) 
--> True 
例 1 で定義したマップを再定義し、これまでに setMapValue()を使用して設定されたすべての値をクリアします。

例 3

再定義(リセットしない場合)
Intent >defineMap(:myMap, reset? := False) 
--> True 
'myMap' という名前のマップ定義しようとします。しかし、この名前のマップが存在し、reset? が False にされているため、既存のマップはそのまま残されます。

例 4

この例では、マップを定義し、2 つの値を設定し、リセットせずにマップを再定義し、マップのキーと値を取得し、最後にマップ値を削除します。
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