defineMap()

Zusammenfassung

Definiert eine neue Map. Die Map existiert, solange die Intent-Sitzung andauert. Die Map-Datenstruktur wird manchmal auch als Hash-Tabelle oder Suchtabelle bezeichnet. Wenn Sie eine andere Map mit demselben Namen definieren, gibt das Argument reset? an, ob die vorhandene Map geleert wird. Diese Funktion gibt immer True zurück.

Sie müssen defineMap() aufrufen, bevor Sie Daten daraus speichern oder abrufen können. Dies kann ein triftiger Grund sein, eine onCreate -Regel zu verwenden.

Syntax

defineMap ( mapName As Name, _
            Optional reset? As Boolean = True ) As Boolean 
Argument Typ Beschreibung
mapName Name Der Name der Map.
reset? Boolesche Operation Optional. Wenn True (Vorgabewert) und eine Map mit demselben Namen vorhanden ist, werden die Daten in der Map zu diesem Zeit punkt nicht gelöscht. Wenn False, geschieht mit den in der Map vorhandenen Daten nichts.

Beispiel 1

Ausgangsdefinition
Intent >defineMap(:myMap) 
--> True 
Definiert eine Map mit dem Namen myMap.

Beispiel 2

Neudefinition (reset? ist vorgabegemäß True)
Intent >defineMap(:myMap) 
--> True 
Hiermit wird die in Beispiel 1 definierte Map neu definiert. Es werden alle Werte gelöscht, die zuvor möglicherweise mithilfe von setMapValue() festgelegt wurden.

Beispiel 3

Neudefinition ohne Zurücksetzen
Intent >defineMap(:myMap, reset? := False) 
--> True 
Hiermit wird eine Map mit dem Namen myMap definiert. Da jedoch eine Map mit diesem Namen bereits vorhanden ist und reset? False ist, bleibt die vorhandene Map unverändert.

Beispiel 4

In diesem Beispiel wird Folgendes durchgeführt: eine Map wird definiert, eine Reihe von Werten wird festgelegt, die Map wird erneut definiert, ohne sie zurückzusetzen, Map-Schlüssel und einige Werte werden abgerufen, und schließlich wird ein Map-Wert gelöscht.
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