taki mały konqrs. jest sobie hash-tablica:

$a=@{}

cechą hashtable aka tablicy słownikowej jest to, że klucze w niej są unikalne – stąd nazwa ‘słownikowa’. przykład:

C:\...ive\_scriptz :))o- $a.Add('key','val')
C:\...ive\_scriptz :))o- $a.Add('key','co innego')
Exception calling "Add" with "2" argument(s): "Item has already been added. Key in dictionary: 'key'  Key being added: 'key'"
At line:1 char:1
+ $a.Add('key','co innego')
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentException

przy próbie dodania drugiego klucza o tej samej nazwie, dostajemy błąd. jasne.

no to teraz taki hack the hash:

function addHash {
param($hashValue,$i)
    
    $ht=@{}
    $ht.add('key',$hashValue)
    if(-not $i) {addHash 'test' -i $true}
    $ht

}
addHash 'bla'

Name                           Value                                                                                                                                                 
----                           -----                                                                                                                                                 
key                            test                                                                                                                                                  
key                            bla

i okazuje się, że są dwa klucze o tej samej nazwie!

pytanie konqrsowe – jak to możliwe? (:

odpowiedź… jak mi się przypomni q:

eN.

Spread the love

Comments (2)

  1. bula

    Odpowiedz

    Podczas wykonywania funkcji dwukrotnie wywolane jest tworzenie tabeli :) i to pozwala na na dodanie ponownie klucza, poniewaz tabeli ponownie jest tworzona :). A pozniej to juz cos powershell tak to wszystko wyswietla,ze wyglada to na 1 tabele :)

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.