w PS zamiast obiektu słownikowego jest hashtable. Po przejrzeniu wielu wygooglanych przykładów oczywiście nie znalazłem odpowiedzi na moje pytania:

  • co jeśli wartością ma być zmienna tablicowa?
  • jak dostać się do takiej wartości?
  • jak zrobić enumerację z możliwością wykonania działań?

odpowiedzi są dość intuicyjne. nie ma problemu, żeby do hashtabla dodać tablicę jako wartość, a następnie robić jakieś operacje. enumeracja jest dokładnie taka sama jak w VBS:

#declaration
$hashtable=@{ "aaa"=@(0,0); "bbb"=@(0,0) }
#print out single value
$hashtable["aaa"][1]++;
echo $hashtable["aaa"][1]; #out -> 1
#enum
$hashtable
#enum with some operation
$hashtable["aaa"]=@(5,10)
$hashtable["bbb"]=@(3,1)
foreach($entry in $hashtable.keys) {
    echo "$($hashtable[$entry][0]/$hashtable[$entry][1]*100)%";
} # out -> 300% 50%

póki co nie bawiłem się $hashtable.getEnumerator() – być może da się zoptymalizować to trochę.. ale działa wszystko bez problemu niemal tak samo jak VBSowy Dictionary (: listy są w .keys i .values, testy są metodami .containsKey i .containsValue, dodawanie .add, usuwanie .remove – różnice w wykorzystaniu są niewielkie (:

eN.

Spread the love

Comments (2)

  1. Odpowiedz

    co prawda słowa o WMI tu nie ma – ale chetnie Ci pomoge (: no i sam chetnie przeczytam!
    koniecznie musisz umiescic rozdzial: przyszlosc zarzadzania zdalnego – WMI vs WS* – bo imho WMI jest na dzis najpotezniejsze, ale eMeSy wyraznie ida w kierunq WS*

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.