Bruke hver metode i Ruby
vgajic/Getty Images
Hver array og hash i Ruby er et objekt, og hvert objekt av disse typene har et sett med innebygde metoder. Programmerere som er nye til Ruby kan lære om hvordan du bruker Hver metode med en matrise og en hash ved å følge de enkle eksemplene som presenteres her.
Bruke hver metode med et matriseobjekt i Ruby
Først oppretter du et array-objekt ved å tilordne arrayet til 'stooges'.
|_+_||_+_|
Deretter kaller du hver metode og lager en liten blokk med kode for å behandle resultatene.
|_+_||_+_|Denne koden produserer følgende utdata:
|_+_||_+_|
|_+_|
|_+_|
Hver metode tar to argumenter — et element og en blokk. Elementet, inneholdt i rørene, ligner på en plassholder. Uansett hva du legger inne i rørene, brukes i blokken for å representere hvert element i matrisen etter tur. Blokken er linjen med kode som kjøres på hver av array-elementene og får elementet som skal behandles.
Du kan enkelt utvide kodeblokken til flere linjer ved å bruke gjøre for å definere en større blokk:
|_+_||_+_||_+_|
|_+_|
|_+_|
Dette er det samme som det første eksemplet, bortsett fra at blokken er definert som alt etter elementet (i rør) og før sluttsetningen.
Bruke hver metode med et hasjobjekt
Akkurat som array-objekt , den hasjobjekt har en hver metode som kan brukes til å bruke en kodeblokk på hvert element i hashen. Først lager du et enkelt hash-objekt som inneholder noe kontaktinformasjon:
|_+_||_+_|
Deretter kaller du hver metode og oppretter en enkelt linje med kode for å behandle og skrive ut resultatene.
|_+_||_+_|Dette gir følgende utgang:
|_+_||_+_|
|_+_|
Dette fungerer nøyaktig som hver metode for et matriseobjekt med en avgjørende forskjell. For en hash oppretter du to elementer – ett for hasj nøkkel og en for verdien. I likhet med matrisen er disse elementene plassholdere som brukes til å sende hvert nøkkel/verdi-par inn i kodeblokken som Rubyløkker gjennom hasjen.
Du kan enkelt utvide kodeblokken til flere linjer ved å bruke do for å definere en større blokk:
|_+_||_+_|
|_+_|
|_+_|
|_+_|
Dette er det samme som det første hash-eksemplet, bortsett fra at blokken er definert som alt etter elementene (i rør) og før sluttsetningen.