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, die reset? Argument gibt an, ob die vorhandene Map deaktiviert ist. Diese Funktion gibt immer True .

Sie müssen defineMap() aufrufen, bevor Sie Daten daraus speichern oder abrufen können. Dies kann ein guter Grund, verwenden Sie eine onCreate rule .

Syntax

defineMap ( mapName As Name, _
            Optional reset? As Boolean = True ) As Boolean 
Argument Typ Beschreibung
mapName Name Der Name der Map.
reset? Boolean Optional; wenn True (Vorgabe) und Sie eine Map mit demselben Namen vorhanden ist, werden die Daten in der Karte an, dass point deaktiviert ist. Wenn False , geschieht nichts, um die vorhandenen Daten in der Karte.

Beispiel 1

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

Beispiel 2

Neudefinition (reset? True )
Intent >defineMap(:myMap) 
--> True 
Diese definiert die Map in Beispiel 1, deaktivieren Sie alle Werte, wurden möglicherweise bereits mithilfe von setMapValue () festgelegt.

Beispiel 3

Neudefinition ohne Zurücksetzen
Intent >defineMap(:myMap, reset? := False) 
--> True 
Diese versucht, eine Map mit dem Namen myMap definiert. Da jedoch eine Karte mit diesem Namen vorhanden ist, und reset? ist False , 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