PowerShell Arrays: Ako ich vytvoriť a používať
Premenné sú najzákladnejšou dátovou štruktúrou v akomkoľvek type kódovania(any type of coding) . Jednotlivé premenné však na väčšinu účelov sotva stačia, najmä ak ide o zložitejšie algoritmy.
Tu prichádzajú polia. Či už je to C++ alebo Python , polia sú v nejakej forme prítomné v každom programovacom jazyku. Ale čo Windows PowerShell ? Ako fungujú polia PowerShell ? Ako ich používate? Aká je ich syntax? Poďme zistiť.
PowerShell Arrays 101
Jednoducho(Simply) povedané, pole je len štruktúrovaná zbierka premenných. Cieľom je eliminovať problémy so sledovaním desiatok mien zbalením súvisiacich premenných do očíslovanej sady.
V PowerShell môžete vytvoriť premennú tak, že pred názov premennej pridáte symbol $. Napríklad:
$prime = 13
Premenná môže obsahovať akýkoľvek typ údajov, od čísel po reťazce. Na zadanie reťazca stačí použiť dvojité alebo jednoduché úvodzovky.
$name = “Levin”
Teraz, ak chcete vytvoriť nové pole, jednoducho priraďte viac hodnôt tej istej premennej, oddelené čiarkami. Páči sa ti to:
$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”
Niektorí ľudia uprednostňujú explicitné pretypovanie premennej do poľa, aby sa vyhli nejasnostiam, hoci to nie je potrebné. Ak to chcete urobiť, vložte hodnoty do zátvoriek so symbolom @.
$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)
To sa zvyčajne hodí, keď sa pokúšate umiestniť výstup iných príkazov do poľa, kde ich nemôžete ručne zapísať v správnom formáte.
Vytvorenie poľa
Už sme videli najbežnejšiu metódu vytvárania poľa. Ale v závislosti od situácie existujú aj iné spôsoby, ktoré môžu byť vhodnejšie. Napríklad, ak chcete vytvoriť pole, ktoré obsahuje rozsah čísel, môžete použiť operátor rozsahu:
$digits = (0..9)
Tým sa vytvorí pole všetkých desiatich číslic od nuly po deväť. Môžete tiež inicializovať prázdne pole v prípade, že chcete neskôr uložiť hodnoty.
$values = @()
Viaceré(Multiple) polia môžu byť dokonca vnorené do seba, hoci tento typ použitia môže byť veľmi rýchlo mätúci.
$coordinates = @(
(5, 10, 23),
(11, 7, 16)
)
V predvolenom nastavení môže pole ukladať akýkoľvek typ premennej, či už ide o čísla, reťazce alebo kombináciu oboch. Ale môžete explicitne definovať typ v prípade, že chcete obmedziť hodnoty v ňom vložené. Napríklad:
[int[]] $numbers = 2,3,4,5
Týmto spôsobom môže pole obsahovať iba celé čísla. Ak sa mu pokúsite priradiť akýkoľvek iný typ hodnoty, vráti sa chyba. To môže byť užitočné na zabránenie jednoduchým chybám pre polia pracujúce výlučne s číselnými hodnotami, pretože zadanie reťazca do premennej, ktorá sa má použiť pri výpočtoch, spôsobí problémy.
Prístup k poliam
Doteraz sme videli viacero metód na vytváranie polí obsahujúcich rôzne typy údajov. Ako však k týmto údajom pristupujete?
Polia PowerShell(PowerShell) používajú rovnaký formát, aký používajú iné programovacie jazyky. Ku každej premennej poľa je možné pristupovať podľa jej indexového čísla. Napríklad:
$var = $numbers[5]
Tým sa skopíruje hodnota uložená v indexe päť poľa $numbers v premennej $varVšimnite si, že indexy poľa začínajú počítať od 0, takže k prvej položke sa pristupuje s nulou.
Ak by sme to vypísali napr.
“$days[2]”
Dostaneme stredu, nie utorok.
Rovnakú metódu môžete použiť aj na úpravu týchto hodnôt. Napríklad nasledujúci príkaz zmení druhý prvok poľa na nulu:
$numbers[1] = 0
Môžete tiež pridať ďalšie prvky do existujúceho poľa namiesto zmeny hodnôt aktuálnych položiek ich pridaním ako aritmetický výraz.
$names += “Johny”
Táto metóda sa dá použiť aj na pridanie viacerých položiek naraz alebo dokonca celých polí.
$names += “Charlie, Liam, Teresa”
$names += $surnames
Metóda oddelená čiarkami platí aj pre prístup k viacerým prvkom poľa. Ak zadáte toto, napríklad uloží prvých päť prvkov $days do $weekdays .
$weekdays = $days[0,1,2,3,4]
Iterácia cez polia
Manuálny prístup k jednotlivým prvkom poľa je dobrý a dobrý, ale ak chcete vykonávať akcie s celým obsahom poľa, môže to byť únavné. Elegantnejším prístupom je použitie cyklu For.
Cykly For môžu systematicky prechádzať všetkými prvkami poľa a spracovávať každú hodnotu podľa pokynov. Takto môžete vytvoriť takúto slučku:
For ($i = 0 ; $i -lt $days.Length ; $i++){
$days[$i]}
Funkcia array.Length vracia veľkosť poľa, čo je v podstate počet prvkov v ňom. Toto je možné zapojiť do parametra testovacieho výrazu cyklu For, aby ste mohli komplexne iterovať všetky prvky.
Slučka Foreach a slučka Foreach -object dokážu to isté s ešte štíhlejším skriptom PowerShell .
Foreach ($day in $days){
$day}
To vám ušetrí námahu pri určovaní veľkosti poľa, pričom podrobnosti ponechá PowerShell na spracovanie.
Kedy by ste mali použiť polia PowerShell(PowerShell Arrays)
Najväčším zdrojom chýb v zložitom skripte sú nesprávne odkazované premenné. Stáva sa to kvôli prítomnosti veľkého počtu jedinečne pomenovaných premenných, čo sťažuje zapamätanie si ich účelu.
Najjednoduchším riešením tohto problému je rozsiahle používanie polí. Všetky premenné, ktoré nejakým spôsobom súvisia, môžu byť priradené do jedného poľa a prístupné prostredníctvom ich indexových čísel.
Hlavným prípadom použitia Microsoft PowerShell(Microsoft PowerShell’s) je automatizácia a polia v tom zohrávajú kľúčovú úlohu. Objekty vrátené rutinami cmdlet PowerShell možno uložiť do polí a opakovať ich. To umožňuje automatické vykonávanie sekvenčných úloh, čo výrazne zjednodušuje správu systému.
Related posts
Ako vytvoriť a používať USB kľúč na obnovenie systému Windows 11
Ako odstrániť alebo vytvoriť naplánovanú úlohu pomocou PowerShell v systéme Windows 11
PREČO môj počítač nie je kompatibilný so systémom Windows 11? Použite WhyNotWin11!
Ako pridať kontextovú ponuku Vytvoriť bod obnovenia v systéme Windows 11
PowerShell vs príkazový riadok: klady a zápory
Ako upraviť jas webovej kamery v systéme Windows 11
Editory kontextovej ponuky: Pridávanie a odstraňovanie položiek kontextovej ponuky v systéme Windows 11
Checkit Tool vám povie, prečo váš počítač nepodporuje Windows 11
Ako nainštalovať Windows 11 pomocou Hyper-V v systéme Windows
Tento počítač nemôže spustiť Windows 11 – opravte to!
Ako povoliť alebo zakázať rozloženie Snap v systéme Windows 11
Ako zobraziť alebo skryť najpoužívanejšie aplikácie v ponuke Štart v systéme Windows 11
Ako zobraziť zoznam všetkých služieb systému Windows pomocou prostredia PowerShell alebo príkazového riadka
Odstráňte položky histórie z pripojenia vzdialenej pracovnej plochy v systéme Windows 11
Ako povoliť a používať diagnostický nástroj TPM v systéme Windows 11
Ako vytvoriť video z fotografií v systéme Windows 11
Ako sa odhlásiť z e-mailového účtu v aplikácii Mail v systéme Windows 11
Ako nastaviť rôzne tapety na rôznych plochách v systéme Windows 11
10 jednoduchých príkazov PowerShell, ktoré by mali poznať všetci používatelia systému Windows
Zobraziť alebo skryť ikony v oblasti pretečenia rohu panela úloh v systéme Windows 11