Hjem Personlig finansiering Hvordan lage kode i Ruby for å tegne et rektangel - dummies

Hvordan lage kode i Ruby for å tegne et rektangel - dummies

Video: Spinosaurus fishes for prey | Planet Dinosaur | BBC 2024

Video: Spinosaurus fishes for prey | Planet Dinosaur | BBC 2024
Anonim

I Ruby kan du lage et rektangel på skjermen ved hjelp av ASCII-kunst. Hvis du skulle tegne et rektangel på papir som var fylt med et mønster, hva ville du måtte gjøre? For det første kan du trekke omrisset av rektangelet, og så kan du farge innvendig.

Men for programmet ditt i Ruby, vil du i stedet tegne formen fra topp til bunn, en linje om gangen. Hvordan vil du beskrive hvordan du gjør det? Som dette:

  1. Tegn toppen av rektangelet ved hjelp av utvendig (eller kant) mønster for første linje.

  2. For hver av linjene som utgjør sidene og innsiden av rektangelet, tegner du venstre kant, hele midten og deretter den høyre kanten.

    Gjenta dette trinnet til du må tegne bunnen av rektangelet.

  3. Tegn bunnen av rektangelet nøyaktig som du trakk toppkanten.

Dette er en algoritme for å tegne rektangler linje for linje fra topp til bunn.

En algoritme er bare en sekvens av trinnene du følger for å utføre noen oppgaver eller beregninger. I dette tilfellet har du skrevet ut sekvensen for å tegne et rektangel ved å skanne over fra topp til bunn, linje for linje.

Ruby-versjonen av algoritmen din leser mye som den engelske versjonen:

  1. Sett opp to variabler som gjør det lettere å se hva som skjer. Du bruker brukerens valg for formstørrelse som både høyde og bredde på figuren du skal tegne:

    height = shape_size width = shape_size
    
  2. Du skal tegne rektangellinjen etter linje, så Sett opp en sløyfe som gjentar koden din for hver rad (det betyr at du trenger tegningskoden din til å kjøre høyde ganger):

    1. opp til (høyde) gjør | rad | # Tegningskode går her slutten
    

    Loops er en kraftig måte å gjenta kode noen ganger (eller til og med et uendelig antall ganger)! Ruby har flere måter å programmere en loop på. Opptil-metoden er en enkel måte å telle fra et startnummer til et sluttnummer. For rektangelet, vil du telle som starter ved 1 for første rad og etterbehandling teller når du når tallet representert av høyde.

  3. Nå, for algoritmen skal fungere, må du sjekke for å se hvilken rad du vil at programmet skal skrive ut. Du har tre saker: den første raden, de midterste radene og den siste raden. Legg til i tilfellet for første rad i midten av sløyfen din:

    Hvis rad == 1 setter outside_letter * bredde ende
    

    Hvis radvariabelen er lik en, bruker programmet sett til å skrive ut ditt valg for det ytre_letter et antall ganger lik bredden.

    Du bruker om setninger når du vil se om noen tilstand er sann eller falsk.Symbolet == i Ruby stiller spørsmålet: "Er saken på venstre side lik tinget på høyre side av == symbolet? "Hvis det er, vil Ruby kjøre linjene med kode frem til en annen betingelse eller et slutt søkeord.

  4. Legg deretter inn en sjekk for å se om dette er den siste raden. Elsif-søkeordet starter en annen tilstandstest, og du plasserer den rett før forrige slutt søkeord. Det er ikke en stavefeil, forresten. Ruby har bare en morsom måte å si "annet hvis"! Det hele ser slik ut:

    hvis rad == 1 legger outside_letter * bredde elsif rad == høyde setter outside_letter * bredde ende
    
  5. Til slutt må du håndtere visning av alle rader i midten, så legg til en siste betingelse ved hjelp av Ruby's annet søkeord. Denne koden går rett før slutt søkeordet. Her er hele blokken Ruby:

    hvis rad == 1 setter outside_letter * bredde elsif rad == høyde setter outside_letter * bredde annet midt = inside_letter * (bredde - 2) setter "# {outside_letter} # {middle} # { outside_letter} "end
    

    Mellomhuset ser komplisert ut. Hva gjør det? Vel, i henhold til algoritmen din, må den tegne venstre og høyre kant og alt i midten.

    Mellomvariabelen beregner strengen som representerer rektangelens midtpunkt. Hvis du tar bort en til venstre kantkarakter og en for høyre kantkarakter, er den endelige bredden på midten full bredde minus to tegn.

    Den endelige setningen inneholder setningstrengbehandling for å lage den kombinerte raden.

  6. Kjør programmet og se om du har noen feil. Får du noe som vises her? Hvis du ser en feil som sier noe som en sammenligning av Fixnum med String mislyktes, betyr dette at Ruby hadde det vanskelig å bruke verdien i form_size som et tall.

    Ruby er ikke sikker på hvordan man bruker strenge for tall.

    Hvorfor er det et problem hvis du skrev inn et tall? Vel, får leser i innspillet ditt, men det leser alle tegnene du skriver som en streng. Du må hjelpe Ruby konvertere strengen til et tall.

  7. Endre de to linjene hvor du angir høyde- og breddevariablene for å bruke metoden to_i, som betyr å konvertere innholdet til denne variabelen til et helt tall:

    height = shape_size. to_i width = shape_size. to_i
    

    Kjør koden din på nytt. Suksess!

    Er dette verdens mest spennende rektangel?
Hvordan lage kode i Ruby for å tegne et rektangel - dummies

Redaktørens valg

Topp 5 Fantasy Baseball Sites - Dummies

Topp 5 Fantasy Baseball Sites - Dummies

Hvis du er en stor fantasy baseball fan og ser ut til å bli med i verden av online fantasy sport, så se ikke lenger. Følgende liste inneholder de fem beste fantasybaseball-nettstedene i henhold til nettstedslayout, oppdatert statistikk, utenfor råd og hjelp og teamstyringsalternativer.

Hva skal man gjøre som en baseball coach - dummies

Hva skal man gjøre som en baseball coach - dummies

Som en baseball trener, du ikke bare må lede teamet ditt, du må ta med forsyninger for å praktisere. Du vil kanskje øke følgende liste, men den inneholder grunnleggende for å få til alle baseballpraksis: Riktig lager førstehjelpsutstyr Ekstra vann Øvelsesplan for dagen, oppdelt etter tid ...

Får utrustet til å spille baseball - dummies

Får utrustet til å spille baseball - dummies

Når du tar baseballfeltet, bør du ta med det beste utstyret som er tilgjengelig. Du trenger ikke å bruke store summer til å kjøpe toppkvalitets tilbehør så lenge du vet hva du skal se etter og hvor du skal finne den. Med mindre du er under 10 år, kjøp utstyr som oppfyller alle de store ligaspesifikasjonene. ...

Redaktørens valg

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Du kan sikkert ta noen form for ikke-tradisjonell trening og dump det i en tønne merket "mind-body. "Det er greit hvis du foretrekker enkelhet og ikke vil bli innpakket med kategorisering og vurdering. Men du kan også kikke på treningsprogrammer på et dypere nivå, vurdere omfanget av oppmerksomhet i en ...

Hvordan du får mest mulig ut av din meditasjon - dummies

Hvordan du får mest mulig ut av din meditasjon - dummies

For å få mest mulig ut av meditasjonspraksis må forplikte seg til det. Når du begynner å meditere regelmessig, kan du høste utallige fordeler - fra lavere stress og kolesterol til høyere nivåer av tilfredshet og lykke. Her er noen tips for å maksimere meditasjonspraksis: Meditere jevnlig - helst hver dag. Sett bort en ...

Redaktørens valg

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

I Adobe Illustrator CS6 Du kan opprette og redigere kunstverk basert på perspektivgitterfunksjonen (introdusert i CS5). Gitteret er en stor hjelp i å skape vellykkede perspektivillustrasjoner. For å vise eller skjule standardperspektivruten, trykk Ctrl + Shift + I (Windows) eller Kommando + Skift + I (Mac). Du kan bruke verktøyet Perspective Grid på verktøylinjen til å ...

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Ved hjelp av en tekstbrytestil i Adobe Creative Suite 5 (Adobe CS5) Illustrator-prosjektet er en enkel måte å legge til litt kreativitet. En tekstpakke tvinger tekst til å vikle rundt en grafikk.

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Ikke bekymre deg om å fylle lukkede figurer eller la filler flykte fra objekter med hull i uønskede områder. Ved å bruke Live Paint-funksjonen til Adobe Illustrator CS6, kan du lage det bildet du ønsker og fylle ut regioner med farge. Live Paint-bøtta registrerer automatisk regioner som er sammensatt av uavhengige kryssende baner og fyller dem tilsvarende. Malingen ...