Služba ScriptForge.Dictionary

Slovník je kolekce dvojic klíč a položka.

Klíče a položky je možné získávat, počítat, aktualizovat atd.

Ikona tipu

Služba Dictionary se podobá objektu Collection, který je v jazyce LibreOffice Basic vestavěný, je však funkčně bohatší. Objekty Collection například neumožňují získávat klíče. Slovníky navíc nabízejí další operace jako nahrazování klíčů, ověřování, zda určitý klíč již existuje či převod slovníku na pole (objekt Array) nebo řetězec formátu JSON.


Volání služby

V Basicu

V následujícím příkladu se vytvoří prázdný slovník myDict.


    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    Dim myDict As Variant
    myDict = CreateScriptService("Dictionary")
  

Po použití se doporučuje uvolnit zdroje:


     Set myDict = myDict.Dispose()
  
V Pythonu

V níže uvedeném příkladu se vytvoří prázdná instance služby Dictionary a pomocí nativní metody Pythonu update se naplní obsahem objektu Pythonu dict.


    dico = dict('A' = 1, 'B' = 2, 'C' = 3)
    # Inicializuje prázdný objekt dict s názvem myDict
    myDict = CreateScriptService('Dictionary')
    # Načte hodnoty slovníku dico do slovníku myDict
    myDict.update(dico)
    myDict['D'] = 4
    print(myDict)   # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
    propval = myDict.ConvertToPropertyValues()
  

Při vytváření instance služby Dictionary je možné použít objekt Pythonu dict jako argument, jak ukazuje následující příklad.


    dico = dict('A' = 1, 'B' = 2, 'C' = 3)
    # Inicializuje slovník myDict obsahem slovníku dico
    myDict = CreateScriptService('Dictionary', dico)
    myDict['D'] = 4
    print(myDict) # {'A': 1, 'B': 2, 'C': 3, 'D': 4}
    propval = myDict.ConvertToPropertyValues()
  
note

Protože Python již vestavěnou podporu pro slovník obsahuje, je většina metod služby Dictionary k dispozici pouze pro skripty Basicu. Výjimku tvoří metody ConvertToPropertyValues a ImportFromPropertyValues, podporované jak v Basicu, tak v Pythonu.


Vlastnosti

Název

Pouze pro čtení

Typ

Popis

Count

ano

Long

Počet záznamů ve slovníku.

Items

ano

pole typu Variant

Seznam položek jako jednorozměrné pole.

Keys

ano

pole řetězců (String)

Seznam klíčů jako jednorozměrné pole.


Ikona tipu

Vlastnosti Keys a Items vrátí svůj obsah ve stejném pořadí, které nesouvisí s vytvářením slovníku.


Příklad:

V následujícím příkladu se používá vlastnost Keys pro iterování přes všechny klíče slovníku myDict.


    Dim a As Variant, b As String
    a = myDict.Keys
    For Each b In a
        MsgBox(myDict.Item(b))
    Next b
    

Seznam metod služby Dictionary

Add
ConvertToArray
ConvertToJson
ConvertToPropertyValues

Exists
ImportFromJson
ImportFromPropertyValues
Item

Remove
RemoveAll
ReplaceItem
ReplaceKey


Add

Přidá do slovníku novou dvojici klíč-položka. V případě úspěšného přidání vrátí True.