PowerShell polja: Kako ih stvoriti i koristiti

Varijable su najosnovnija struktura podataka u bilo kojoj vrsti kodiranja(any type of coding) . No, pojedinačne varijable teško da su dovoljne za većinu namjena, posebno kada se radi o složenijim algoritmima.

Tu na scenu dolaze nizovi. Bilo da se radi o C++ ili Pythonu(Python) , nizovi su prisutni u svakom programskom jeziku u nekom obliku. Ali što je s Windows PowerShell ? Kako rade polja PowerShell ? Kako ih koristite? Koja je njihova sintaksa? Hajde da vidimo.

PowerShell polja 101

Jednostavno(Simply) govoreći, polje je samo strukturirana zbirka varijabli. Ideja je eliminirati gnjavažu praćenja desetaka imena sažimanjem povezanih varijabli u numerirani skup.

U PowerShell -u možete stvoriti varijablu dodavanjem simbola $ ispred naziva varijable. Na primjer:

$prime = 13

Varijabla može sadržavati bilo koju vrstu podataka, od brojeva do nizova. Samo trebate koristiti dvostruke ili jednostruke navodnike da navedete niz.

$name = “Levin”

Da biste stvorili novi niz, jednostavno dodijelite više vrijednosti istoj varijabli, odvojene zarezima. Kao ovo:

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

Neki ljudi radije eksplicitno pretvaraju varijablu u niz kako bi izbjegli zabunu, iako to nije potrebno. Da biste to učinili, stavite vrijednosti u zagrade ispred kojih stoji simbol @.

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

Ovo je obično korisno kada pokušavate staviti izlaz drugih naredbi u niz, gdje ih ne možete ručno napisati u ispravnom formatu.

Stvaranje niza

Već smo vidjeli najčešći način stvaranja niza. Ali ovisno o situaciji, postoje drugi načini koji bi mogli biti prikladniji. Na primjer, ako želite stvoriti niz koji sadrži niz brojeva, možete koristiti operator raspona:

$digits = (0..9)

Ovo će stvoriti niz od svih deset znamenki od nule do devet. Također možete inicijalizirati prazan niz, u slučaju da samo želite mjesto za pohranu vrijednosti kasnije.

$values = @()

Višestruki(Multiple) nizovi mogu se čak ugniježditi jedan u drugi, iako ova vrsta upotrebe može vrlo brzo postati zbunjujuća.

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

Prema zadanim postavkama niz može pohraniti bilo koju vrstu varijable, bilo da se radi o brojevima, nizovima ili kombinaciji obojega. Ali možete eksplicitno definirati tip u slučaju da želite ograničiti vrijednosti koje se u njega unose. Na primjer:

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

Na ovaj način niz može sadržavati samo cijele brojeve. Pokušaj dodjeljivanja bilo koje druge vrste vrijednosti vratit će pogrešku. Ovo može biti korisno za sprječavanje jednostavnih pogrešaka za nizove koji rade isključivo s numeričkim vrijednostima, budući da će unos niza u varijablu koja će se koristiti u izračunima stvoriti probleme.

Pristup nizovima

Do sada smo vidjeli više metoda za stvaranje nizova koji sadrže različite vrste podataka. Ali kako pristupiti tim podacima?

PowerShell nizovi koriste isti format koji koriste drugi programski jezici. Svakoj varijabli niza može se pristupiti njezinim indeksnim brojem. Na primjer:

$var = $numbers[5]

Ovo će kopirati vrijednost pohranjenu u indeksu pet niza $numbers u varijabli $varImajte na umu da indeksi polja počinju brojati od 0, tako da se prvoj stavci pristupa s nulom.

Ako bismo ispisali ovo, na primjer:

“$days[2]”

Dobit ćemo srijedu, a ne utorak.

Istu metodu možete koristiti i za izmjenu ovih vrijednosti. Na primjer, sljedeća naredba promijenit će drugi element niza u nulu:

$numbers[1] = 0

Također možete dodati više elemenata postojećem nizu umjesto da mijenjate vrijednosti trenutnih unosa samo njihovim dodavanjem poput aritmetičkog izraza.

$names += “Johny”

Ova se metoda može koristiti za dodavanje više unosa odjednom, ili čak cijelih nizova.

$names += “Charlie, Liam, Teresa”

$names += $surnames

Metoda odvojena zarezima vrijedi i za pristup više elemenata niza. Unos ovoga, na primjer, pohranjuje prvih pet elemenata od $days u $weekdays .

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

Ponavljanje kroz nizove

Ručno pristupanje pojedinim elementima niza je dobro i dobro, ali ako želite izvršiti radnje na cijelom sadržaju niza, može postati zamorno. Elegantniji pristup je korištenje For petlje.

For petlje mogu sustavno prolaziti kroz sve elemente niza, obrađujući svaku vrijednost prema uputama. Ovako možete konstruirati takvu petlju:

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

Funkcija array.Length vraća veličinu niza, što je u osnovi broj elemenata u njemu. Ovo se može uključiti u parametar testnog izraza petlje For za opsežno ponavljanje svih elemenata.

Petlja Foreach i petlja Foreach -object mogu učiniti isto s još manjom PowerShell skriptom.

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

To vam štedi trud oko određivanja veličine niza, ostavljajući PowerShell da obradi pojedinosti.

Kada biste trebali koristiti polja PowerShell(PowerShell Arrays)

Najveći izvor pogrešaka u složenoj skripti su netočno navedene varijable. To se događa zbog prisutnosti velikog broja varijabli s jedinstvenim nazivom, što otežava pamćenje njihove svrhe.

Najjednostavnije rješenje za ovaj problem je opsežna upotreba nizova. Sve varijable povezane na neki način mogu se dodijeliti jednom nizu i pristupiti im preko njihovih indeksnih brojeva.

Glavni slučaj upotrebe Microsoft PowerShell-a(Microsoft PowerShell’s) je automatizacija, a nizovi igraju ključnu ulogu u tome. Objekti koje vraćaju PowerShell cmdleti mogu se pohraniti u nizove i ponavljati. To omogućuje automatsko izvršavanje uzastopnih zadataka, što uvelike pojednostavljuje administraciju sustava.



About the author

Profesionalni sam audio inženjer s više od 10 godina iskustva. Radio sam na nizu projekata, od malih kućnih audio sustava do velikih komercijalnih produkcija. Moje vještine leže u stvaranju izvrsnih zvučnih zapisa i alata za obradu zvuka koji čine da glazba zvuči izvrsno. Također imam izuzetno iskustvo sa sustavom Windows 10 i mogu vam pomoći da izvučete maksimum iz svog računalnog sustava.



Related posts