Powershell Essentials (del 10)

I min forrige artikkel, begynte jeg å snakke om hvordan du kan bruke Powershell til å benytte seg av strømmen av .NET. Underveis viste jeg dere et par eksempler som hvordan å beregne verdien av PI. I denne artikkelen vil jeg snakke litt mer om dine muligheter for samspill med .NET.

Som jeg forklarte i forrige artikkel, i samspill med .NET krever at du vet om klasser og metoder. En klasse er i utgangspunktet en kategori av kommandoer og en metode kan betraktes som en individuell kommando. Jeg forenkle ting, men for akkurat nå er dette en sikker måte å tenke om klasser og metoder. Hvis du tenker tilbake til min PI eksempel ble klasse kalt Math. Math klassen inneholder alle de matematiske relaterte funksjoner (eller metoder). PI var navnet på en metode innenfor Math klassen. Bruke PI-metoden er nødvendig for oss å spesifisere klassenavnet (Math) og metodenavnet (PI). Selve kommandoen ser slik ut:

[Math] :: PI

Som jeg antydet i forrige artikkel, ting aren ’ t alltid fullt så enkelt. Det fine med den PI metoden er at vi var i stand til å bruke den som en frittstående objekt. Vi gjorde ’ t nødt til å gi tilleggsinformasjon. Bruk av andre klasser og metoder isn ’. T alltid fullt så enkelt

For ordens skyld diskusjonen, jeg ønsker å bruke Random klassen til å vise deg hvordan du samhandler med metoder. Du fikk en smak av denne klassen i forrige artikkel når jeg forklarte at du kunne liste metodene som eksisterer innenfor Random klasse ved hjelp av denne kommandoen:

[Tilfeldig] .GetMethods () | Velg-Object Name – Unique

Det er sju unike metoder til Random klassen inkludert Deretter NextDouble, NextBytes, toString, lik, GetHashCode, og getType. Men hvordan kan du bruke disse metodene? Klart, dette isn ’ t kommer til å være så enkelt som å vise verdien av PI

Jeg kunne hoppe rett inn og fortelle deg nøyaktig hvordan du bruker Random klasse, og tilsvarende metoder, men jeg tror at jeg ville. være å gjøre deg en bjørnetjeneste hvis jeg gjorde. Grunnen til dette er at tilfeldig er bare en av mange forskjellige klasser som er tilgjengelige gjennom NET. Det ville ikke ’ t være praktisk for meg å skrive om hver klasse og hver metode. Likeledes vil det ikke være realistisk for meg å forvente at du skal huske syntaksen for hver metode i tilværelsen. Så i stedet for bare å vise deg hvordan du bruker Random klassen og dens metoder, jeg vil heller vise deg hva du skal gjøre i virkelige situasjoner når du står overfor en klasse eller en metode som du ikke vet hvordan du skal bruke.

I denne typen situasjon, anbefaler jeg å snu til MSDN. Hvis du ikke er kjent med MSDN, er det Microsoft Developer Network og er tilgjengelig på http://msdn.microsoft.com. MSDN er Microsoft ’ s go-to referere for utviklere og den inneholder all informasjonen som du noensinne vil trenge om .NET og om Powershell

Etter min mening, navigerer MSDN direkte kan være litt tungvint.. Det ’ s mye enklere å gjøre et nettsøk på en setning som “ .NET tilfeldig klasse ”. Det første resultatet vil vanligvis være en MSDN dokument. Hvis du ser på figur A for eksempel, vil du se en MSDN dokument knyttet til Random klassen. Dette dokumentet viser klasse syntaks for en rekke programmeringsspråk. Dessverre, Powershell isn ’ t blant språkene som er oppført, men det isn ’ t problem

Figur A:. MSDN inneholder full dokumentasjon for NET klasser

Hvis du ser på helt nederst. figuren ovenfor, vil du se at det er en seksjon kalt metoder. Den Metoder delen viser de metoder som er knyttet til .NET class. Du kan klikke på en individuell metode for å lære mer om det. Hvis du klikker på Neste metode for eksempel, vil du se at det er laget for å returnere en positiv tilfeldig heltall.

Riktignok informasjonen på MSDN kan være litt vanskelig å følge hvis du ikke er en utvikler , så la meg bryte det ned for deg. I likhet med Math klassen, hvis du ønsker å bruke Random klassen, må du legge ved klassenavnet i parentes. Dette gjelder for alle NET klasse.

Hvis du bare skrive [Random] i Powershell, får du en liten bit av informasjon om Random klassen. Som du kan se i figur B, kan vi se at klassen er offentlig, og at det er serie. Vi kan også fortelle at Random klassen er et systemobjekt

Figur B:.. Entering [Random] produserer en bit av informasjon om Random klassen

En annen ting som vi kan fortelle umiddelbart er at du kan ’ t bare fylle [Random] for å få et tilfeldig tall. Dette er å forvente. Tross alt, er Random en klasse navn, ikke en funksjon. Entering [Random] og ventet på å få et tilfeldig tall ville være som å komme inn [Math] og ventet på å se verdien for PI. Det ’ s ikke kommer til å skje. For å si det på en annen måte, er en klasse ingenting, men en klassifisering. Det ’ s. Metodene som gjør alt arbeidet

Hvis du ønsker å produsere et tilfeldig tall, må du bruke den neste metode. Den grunnleggende syntaks som brukes for å gjøre det er litt forskjellig fra hva du kan brukes til. Kommandoen som brukes til å generere et tilfeldig tall ser slik ut:

([Random] 1) .next ()

I denne kommandoen er Random klassen bruker nummer 1 som startverdi og kalle den neste metode, som frembringer et tilfeldig tall. Startverdien er kalt en startverdi. Den brukes når du ønsker å generere en forutsigbar tilfeldig tall (for testing). Du kan bruke alle frø verdien du ønsker.

Husker da jeg sa at neste metoden gir en 32-bit positivt heltall. En 32-bits positivt heltall er et forholdsvis stort antall. Hvis du bruker en for frøet verdi da den resulterende tilfeldige tall er 534011718. Hvis du ønsker å ha litt mer kontroll over resultatet, kan du bruke en kommando som dette for å spesifisere output range. Denne kommandoen plukker et tilfeldig tall mellom 1 og 100:

([Random] 1) .next (“ en ”, ” 100 ”)

Igjen, hvis du bruker en startverdi deretter kommandoen vil produsere identiske resultater hver gang det kjøres.

En siste ting som jeg vil nevne er at bare fordi jeg brukte Random klassen til å forklare hvordan du kan få hjelp til å bruke klasser og metoder, betyr ikke at du må bruke [Random] for å generere et tilfeldig tall. Ofte Microsoft har laget Powershell cmdlets som utnytter NET, slik at du slipper å gjøre det manuelt. For eksempel er det en Powershell cmdlet heter Get-Random som henter en tilfeldig tall. Hvis du ønsket å generere et tilfeldig tall mellom 1 og 100, kan du bruke denne kommandoen:

Get-Random – Maximum 100 – Minimum 1

Denne kommandoen bruker ikke en startverdi og resultatene er derfor ikke identiske.

Konklusjon

I denne artikkelserien, jeg har vist deg det grunnleggende å jobbe med Microsoft Powershell. Som du har sett, gir Powershell du nesten total kontroll over Windows-operativsystemet. Anmeldelser



Previous:
Next Page: