PowerShell-taulukot: niiden luominen ja käyttö

Muuttujat ovat perustietorakenne minkä tahansa tyyppisessä koodauksessa(any type of coding) . Mutta yksittäiset muuttujat tuskin riittävät useimpiin tarkoituksiin, varsinkin kun käsitellään monimutkaisempia algoritmeja.

Siellä taulukot tulevat käyttöön. Olipa kyseessä C++ tai Python , taulukoita on jokaisessa ohjelmointikielessä jossain muodossa. Mutta entä Windows PowerShell ? Miten PowerShell- taulukot toimivat? Miten käytät niitä? Mikä on niiden syntaksi? Otetaan selvää.

PowerShell-taulukot 101

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

PowerShellissä voit luoda muuttujan lisäämällä $-symbolin muuttujan nimeen . (PowerShell)Esimerkiksi:

$prime = 13

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

$name = “Levin”

Nyt luodaksesi uuden taulukon, anna samalle muuttujalle useita arvoja pilkuilla erotettuina. Kuten tämä:

$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”

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

$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)

Tämä on yleensä hyödyllistä, kun yrität laittaa muiden komentojen tulosteet taulukkoon, johon et voi kirjoittaa niitä manuaalisesti oikeaan muotoon.

Array:n 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 joukon kaikista kymmenestä numerosta nollasta yhdeksään. Voit myös alustaa tyhjän taulukon, jos haluat vain paikan, johon arvot tallennetaan myöhemmin.

$values = @()

Useita(Multiple) taulukoita voidaan jopa upottaa toisiinsa, vaikka tämäntyyppinen käyttö voi hämmentää hyvin nopeasti.

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

Oletusarvoisesti matriisi voi tallentaa minkä tahansa muuttujan tyypin, olivatpa ne numeroita, merkkijonoja tai molempien yhdistelmää. Voit kuitenkin määrittää nimenomaisesti tyypin, jos haluat rajoittaa siihen asetettuja arvoja. Esimerkiksi:

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

Tällä tavalla matriisi 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 käyttävät yksinomaan numeerisia arvoja, koska merkkijonon syöttäminen laskelmissa käytettävään muuttujaan aiheuttaa ongelmia.

Pääsy taulukoihin

Tähän mennessä olemme nähneet useita menetelmiä erityyppisiä tietoja sisältävien taulukoiden luomiseksi. Mutta miten pääset käsiksi näihin tietoihin?

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

$var = $numbers[5]

$var - muuttujan $numbers -taulukon indeksiin viisi tallennetun arvon . Huomaa, että taulukkoindeksit alkavat laskea nollasta, joten ensimmäiseen kohteeseen päästään nollalla.

Jos antaisimme tämän, esimerkiksi:

“$days[2]”

Me 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ä elementtejä olemassa olevaan taulukkoon sen sijaan, että muuttaisit nykyisten merkintöjen arvoja vain lisäämällä ne aritmeettisen lausekkeen tavoin.

$names += “Johny”

Tätä menetelmää voidaan käyttää myös useiden merkintöjen tai jopa kokonaisten taulukoiden lisäämiseen kerralla.

$names += “Charlie, Liam, Teresa”

$names += $surnames

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

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

Iterointi taulukoiden kautta

Tiettyjen taulukon elementtien manuaalinen pääsy on hyvä ja hyvä, mutta jos haluat suorittaa toimintoja taulukon koko sisällölle, se voi olla tylsää. Tyylikkäämpi lähestymistapa on käyttää For-silmukkaa.

For silmukat voivat systemaattisesti käydä 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 pohjimmiltaan siinä olevien elementtien lukumäärä. Tämä voidaan liittää For-silmukan testilausekeparametriin, jotta kaikki elementit iteroidaan kattavasti.

Foreach -silmukka ja Foreach -objektisilmukka voivat tehdä saman vieläkin ohuemmalla PowerShell (Foreach)-(PowerShell) skriptillä.

Foreach ($day in $days){
    $day}

Tämä säästää vaivaa taulukon koon määrittämisessä ja jättää tiedot PowerShellin(PowerShell) hoidettavaksi.

Milloin sinun tulisi käyttää PowerShell-taulukoita(PowerShell Arrays)

Suurin virhelähde monimutkaisessa skriptissä on virheellisesti viitatut muuttujat. Tämä johtuu suuresta määrästä yksilöllisesti nimettyjä muuttujia, mikä vaikeuttaa niiden tarkoituksen muistamista.

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

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



About the author

Olen ammattimainen ääniinsinööri, jolla on yli 10 vuoden kokemus. Olen työskennellyt monenlaisissa projekteissa pienistä kodin äänijärjestelmistä suuriin kaupallisiin tuotantoihin. Taitoni on luoda erinomaisia ​​ääniraitoja ja äänenkäsittelytyökaluja, jotka saavat musiikin kuulostamaan upealta. Olen myös erittäin kokenut Windows 10:n kanssa, ja voin auttaa sinua saamaan kaiken irti tietokonejärjestelmästäsi.



Related posts