Vsebina
Kazalo 🔎︎

# Predmet Collection

Predmete Collection (angl. zbirka) lahko uporabljamo za shranjevanje elementov različnih vrst. Do vsakega elementa lahko dostopamo z njegovim indeksom ali z neobveznim ključem, povezanim z njim.

Predmet Collection ima naslednje metode:

- Add: vstavi nov element v zbirko. Neobvezno lahko določite vrednost niza kot ključ za predmet.

- Count: vrne število elementov v zbirki.

- Item: vrne element v zbirki s podajanjem njegovega indeksa ali ključa.

- Remove: odstrani naveden element iz zbirke z njegovim indeksom ali ključem.

Do elementov v predmetu Collection lahko dostopate z njihovimi indeksi (kot v enodimenzionalnem polju na osnovi števila 1) ali prek z njimi povezanih ključev.

Storitev ScriptForge Dictionary razširja predmet Collection z zagotavljanjem dopolnilnih funkcij, kot so pridobivanje in zamenjava ključev ter uvoz in izvoz v predmete Array in nize JSON.

## Ustvarjanje predmeta Collection

Predmet Collection ustvarite z uporabo ključne besede New. Naslednji primer ustvari predmet Collection in ga napolni s tremi elementi:

        Dim myCollection as New Collection
        myCollection.Add("Some text")
        myCollection.Add(100)
        myCollection.Add(Array(1, 2, 3, 4))
        MsgBox myCollection.Count ' 3

## Dodajanje elementov

Metodo Add lahko uporabite za dodajanje novih elementov v predmet Collection.

### Skladnja:

oCollection.Add(item, [key], [before|after])

### Parametri:

item: element, ki bo dodan v predmet Collection. Lahko je poljubne vrste.

key: niz, uporabljen kot enkratni ključ, s katerim boste identificirali to vrednost.

before, after: neobvezni argument ključnih besed, ki nakazuje, kam bo postavljen novi element v predmetu Collection. Navedete lahko le enega od argumentov before (pred) in after (za), da določite indeks ali ključ, pred katerim (ali za katerim) bo umeščen novi element.

### Primer:

Spodnji primer doda dva elementa v predmet Collection. Prvi ima z njim povezan ključ, drugi ne.

        Dim myCollection as New Collection
        myCollection.Add(100, "first")
        myCollection.Add(101)

Metoda Add podpira tudi argumente ključnih besed:

        myCollection.Add(item := 100, key := "first")

Ključi morajo biti enkratni v predmetu Collection. Primerjava med ključi ne razlikuje velikih in malih črk. Dodajanje podvojenih ključev povzroči napako pri izvajanju.

Spodnji primer ilustrira rabo argumentov ključnih besed Before in After za določitev položaja predmeta, ki bo dodan.

        Dim myCollection as Variant
        myCollection = New Collection
        myCollection.Add(item := 101, key := "first")
        myCollection.Add(item := 103, key := "third")
        myCollection.Add(item := 105, key := "fifth")
        MsgBox myCollection.Item(2) ' 103
        myCollection.Add(item := 102, key := "second", before := "third")
        MsgBox myCollection.Item(2) ' 102
        myCollection.Add(item := 104, key := "fourth", after := 3)
        MsgBox myCollection.Item(4) ' 104

Elementom v predmetu Collection se dodeli celoštevilska vrednost indeksa, ki se začne z 1 in ustreza vrstnemu redu, po katerem so bili elementi dodatni.

## Dostop do elementov

Uporabite metodo Item za dostop do danega elementa z njegovim indeksom ali ključem.

oCollection.Item(index)

oCollection.Item(key)

### Parametri:

index: celoštevilska vrednost, ki določa indeks elementa, ki bo vrnjen.

key: vrednost niza, ki določa ključ za element, ki bo vrnjen.

### Primer:

        Dim myCollection as New Collection
        myCollection.Add(item := 101, key := "A")
        myCollection.Add(item := 102, key := "B")
        myCollection.Add(item := 103, key := "C")
        MsgBox myCollection.Item("A") ' 101
        MsgBox myCollection.Item(3)   ' 103

## Odstranjevanje elementov

Uporabite metodo Remove, da izbrišete elemente iz predmeta Collection.

### Skladnja:

Elemente lahko odstranite s sklicevanjem na njihove indekse ali vrednosti ključev.

oCollection.Remove(index)

oCollection.Remove(key)

### Parametri:

index: celoštevilska vrednosti, ki določa indeks predmeta, ki ga želite odstraniti.

key:: niz, ki določa ključ elementa, ki ga želite odstraniti.

### Primer:

        Dim myCollection as New Collection
        myCollection.Add(item := 101, key := "first")
        myCollection.Add(item := 102, key := "second")
        myCollection.Add(item := 103, key := "third")
        MsgBox myCollection.Count ' 3
        ' Removes the  first value
        myCollection.Remove(1)
        ' Removes the value whose key is "third"
        myCollection.Remove("third")
        MsgBox myCollection.Count ' 1

## Iteracija po vseh elementih

Uporabite lahko zanko z ukazi For Each ... Next za iteracijo po vseh elementih predmeta Collection.

        Dim myCollection as New Collection
        myCollection.Add(item := 101, key := "A")
        myCollection.Add(item := 102, key := "B")
        myCollection.Add(item := 103, key := "C")
        For Each value In myCollection
            MsgBox value
        Next value

## Praznjenje predmeta Collection

Če želite odstraniti vse elemente iz predmeta Collection, pokličite metodo Remove za vsak element, kar ilustrira spodnji primer:

        ' Ustvari primer predmeta Collection z dvema vnosoma
        Dim myCollection as New Collection
        myCollection.Add(item := 10, key := "A")
        myCollection.Add(item := 11, key := "B")
        MsgBox myCollection.Count ' 2
        ' Odstrani vse elemente iz predmeta Collection
        For i = myCollection.Count To 1 Step -1
        	myCollection.Remove(i)
        Next i
        MsgBox myCollection.Count ' 0

Podobne teme

Funkcija Array

Storitev ScriptForge.Dictionary