Muuttujat ovat perustietorakenne kaikentyyppisissä koodauksissa. Mutta yksittäiset muuttujat tuskin riittävät useimpiin tarkoituksiin, varsinkin kun on kyse monimutkaisemmista algoritmeista.

Siinä taulukot tulevat käyttöön. Olipa kyseessä C++ tai Python, taulukoita on kaikissa ohjelmointikielissä jossain muodossa. Mutta entä Windows PowerShell? Kuinka PowerShell-taulukot toimivat? Miten käytät niitä? Mikä on niiden syntaksi? Otetaanpa selvää.

Sisällysluettelo

PowerShell Arrays 101

Yksinkertaisesti sanottuna taulukko on vain jäsennelty kokoelma muuttujia. Ajatuksena on poistaa kymmenien nimien kirjaamisen vaivat tiivistämällä toisiinsa liittyvät muuttujat numeroiduksi joukoksi.

PowerShellissä voit luoda muuttujan liittämällä $-symbolin muuttujan nimeen. Esimerkki:

$prime=13

Muuttuja voi sisältää minkä tahansa tietotyypin numeroista merkkijonoihin. Sinun tarvitsee vain määrittää merkkijono käyttämällä kaksois-tai yksittäislainausmerkkejä.

$name=“Levin”

Nyt voit luoda uuden taulukon määrittämällä useita arvoja samalle muuttujalle pilkuilla erotettuina. Näin:

$week=”maanantai”,”tiistai”,”keskiviikko”,”torstai”,”perjantai”,”lauantai”,”sunnuntai”

Jotkut ihmiset haluavat heittää muuttujan nimenomaisesti taulukkoon sekaannusten välttämiseksi, vaikka se ei ole välttämätöntä. Voit tehdä tämän asettamalla arvot sulkeisiin, joiden eteen on merkitty @-symboli.

$week=@(“maanantai”,”tiistai”,”keskiviikko”,”torstai”,”perjantai”,”lauantai”,”sunnuntai”

Tästä on yleensä hyötyä, kun yritetään laittaa muiden komentojen tulosteet taulukkoon, johon ei voi kirjoittaa manuaalisesti oikeaan muotoon.

p>

Matriisin luominen

Olemme jo nähneet yleisimmän tavan luoda taulukko. Mutta tilanteesta riippuen on muita tapoja, jotka voivat olla sopivampia. Jos esimerkiksi haluat luoda taulukon, joka sisältää lukualueen, voit käyttää alueoperaattoria:

$digits=(0..9)

Tämä luo taulukon kaikista kymmenestä numerosta nollasta yhdeksään. Voit myös alustaa tyhjän taulukon, jos haluat vain paikan, johon haluat tallentaa arvot myöhemmin.

$values ​​=@()

Useita taulukoita voi käyttää jopa olla sisäkkäisiä, vaikka tämän tyyppinen käyttö voi hämmentää hyvin nopeasti.

$coordinates=@(
    (5, 10, 23) ,
    (11, 7, 16)
)

Oletusarvoisesti taulukko voi tallentaa minkä tahansa muuttujatyypin, olipa kyse numeroista, merkkijonoista tai molempien yhdistelmästä. Voit kuitenkin määrittää nimenomaisesti tyypin, jos haluat rajoittaa siihen asetettuja arvoja. Esimerkki:

[int[]] $luvut=2,3,4,5

Tällä tavalla taulukko voi sisältää vain kokonaislukuja. Jos sille yritetään määrittää minkä tahansa muun tyyppistä arvoa, tuloksena on virhe. Tämä voi olla hyödyllistä yksinkertaisten virheiden estämiseksi taulukoissa, jotka työskentelevät yksinomaan numeeristen arvojen kanssa, koska merkkijonon syöttäminen laskelmissa käytettävään muuttujaan aiheuttaa ongelmia.

Matriisien käyttö

Toistaiseksi olemme nähneet useita menetelmiä erityyppistä dataa sisältävien taulukoiden luomiseksi. Mutta miten aiot käyttää näitä tietoja?

PowerShell-taulukot käyttävät samaa muotoa, jota muut ohjelmointikielet käyttävät. Jokaiseen taulukon muuttujaan pääsee käsiksi sen indeksinumerolla. Esimerkki:

$var=$numbers[5]

Tämä kopioi $numbers-taulukon hakemistoon viisi tallennetun arvon. var muuttuja. Huomaa, että taulukon indeksit alkavat laskea nollasta, joten ensimmäiseen kohtaan päästään nollalla.

Jos antaisimme tämän esimerkiksi:

“$days[2”]”

Saamme keskiviikon, ei tiistaita.

Voit käyttää samaa menetelmää myös näiden arvojen muokkaamiseen. Esimerkiksi seuraava komento muuttaa taulukon toisen elementin nollaan:

$numbers[1]=0

Voit myös lisätä lisää elementtejä olemassa olevaan taulukkoon sen sijaan, että muuttaisit nykyisten merkintöjen arvoja vain lisäämällä ne aritmeettisen lausekkeen tavoin.

$names +=”Johny”

Tällä menetelmällä voidaan lisätä myös useita merkintöjä kerralla tai jopa kokonaisia ​​taulukoita.

$names +=“Charlie, Liam, Teresa”

$names +=$sukunimet

Pilkuilla erotettu menetelmä pätee myös useiden taulukkoelementtien käyttämiseen. Jos syötät tämän, esimerkiksi $days ensimmäiset viisi elementtiä tallennetaan kohtaan $weekdays.

$weekdays=$days[0,1,2,3,4]

Iterointi taulukoiden kautta

Matriisin tiettyjen elementtien manuaalinen käyttäminen on hyvä asia, mutta jos haluat suorittaa toimintoja taulukon koko sisällölle, se voi olla tylsää. Tyylikkäämpi tapa on käyttää For-silmukkaa.

For-silmukat voivat käydä systemaattisesti läpi kaikki taulukon elementit ja käsitellä jokaisen arvon ohjeiden mukaan. Näin voit rakentaa tällaisen silmukan:

For ($i=0 ; $i-lt $days.Length ; $i++)
{

   $days[$i]
}

Ary.Length-funktio palauttaa taulukon koon, joka on periaatteessa siinä olevien elementtien lukumäärä. Tämä voidaan liittää For-silmukan testilausekeparametriin, jotta kaikki elementit voidaan iteroida kattavasti.

Foreach-silmukka ja Foreach-objektisilmukka voivat tehdä saman vielä kevyemmällä PowerShell-komentosarjalla.

Foreach ($day in $days)
{

    $day
}

Tämä säästää vaivaa taulukon koon määrittämisestä, jättäen tiedot PowerShellin käsiteltäväksi.

Milloin PowerShell-taulukoita kannattaa käyttää

Suurin virhelähde monimutkaisessa komentosarjassa ovat virheellisesti viitatut muuttujat. Tämä johtuu suuresta määrästä yksilöllisesti nimettyjä muuttujia, mikä tekee vaikeaksi muistaa niiden tarkoitusta.

Yksinkertaisin korjaus tähän ongelmaan on käyttää taulukoita laajasti. Kaikki jollain tavalla liittyvät muuttujat voidaan liittää yhteen taulukkoon ja käyttää niiden indeksinumeroiden kautta.

Microsoft PowerShellin tärkein käyttötapaus on automaatio, ja taulukoilla on siinä keskeinen rooli. PowerShell-cmdlet-komentojen palauttamat objektit voidaan tallentaa taulukoihin ja iteroida yli. Tämä mahdollistaa peräkkäisten tehtävien suorittamisen automaattisesti, mikä yksinkertaistaa huomattavasti järjestelmän hallintaa.

Categories: IT Info