Huis Persoonlijke financiën Hoe code in Ruby te maken om een ​​rechthoek te tekenen - dummies

Hoe code in Ruby te maken om een ​​rechthoek te tekenen - dummies

Video: DIY School Supplies! 12 Weird Back to School Hacks! 2024

Video: DIY School Supplies! 12 Weird Back to School Hacks! 2024
Anonim

In Ruby kunt u een rechthoek op het scherm maken met ASCII-illustraties. Als u een rechthoek tekent op papier dat met een patroon is gevuld, wat zou u dan moeten doen? Ten eerste kunt u de omtrek van de rechthoek tekenen en dan kunt u de binnenkant inkleuren.

Maar voor je programma in Ruby moet je in plaats daarvan de vorm van boven naar beneden tekenen, regel voor regel. Hoe zou je beschrijven hoe dat te doen? Zo:

  1. Teken de bovenzijde van de rechthoek met behulp van het buitenste (of rand) patroon voor de eerste regel.

  2. Teken voor elke lijn tussen de zijkanten en de binnenkant van de rechthoek de linkerrand, het hele midden en dan de rechterrand.

    Herhaal deze stap totdat je de onderkant van de rechthoek moet tekenen.

  3. Teken de onderkant van de rechthoek precies zoals u de bovenrand tekende.

Dit is een algoritme om rechthoeken regel voor regel van boven naar beneden te tekenen.

Een algoritme is slechts een reeks stappen die u volgt om een ​​bepaalde taak of berekening te voltooien. In dit geval hebt u de reeks uitgeschreven om een ​​rechthoek te tekenen door van regel naar regel van boven naar beneden te scannen.

De Ruby-versie van uw algoritme lijkt veel op de Engelse versie:

  1. Stel twee variabelen in die het gemakkelijker maken om te zien wat er aan de hand is. U gebruikt de keuze van de gebruiker voor de vormgrootte als zowel de hoogte als de breedte van de figuur die u gaat tekenen:

    hoogte = shape_size width = shape_size
    
  2. u tekent de rechthoek regel voor regel, dus stel een lus in die uw code voor elke rij zal herhalen (dus dat betekent dat u uw tekencode nodig hebt om hoogte keer) uit te voeren:

    1. tot (hoogte) do | rij | # Tekeningcode gaat hier end
    

    Lussen zijn een krachtige manier om code een aantal keren (of zelfs een oneindig aantal keren) te herhalen! Ruby heeft verschillende manieren om een ​​lus te programmeren. De tot-methode is een eenvoudige manier om te tellen van een beginnummer tot een eindnummer. Voor de rechthoek wilt u beginnen met 1 voor de eerste rij en eindigen met tellen wanneer u het getal bereikt dat wordt weergegeven door de hoogte.

  3. Nu moet het algoritme werken om te controleren welke rij het programma moet afdrukken. U hebt drie cases: de eerste rij, de middelste rijen en de laatste rij. Voeg in het geval van de eerste rij in het midden van je lus:

    als rij == 1 zet outside_letter * width end
    

    Als de rijvariabele gelijk is aan één, gebruikt het programma puts om uw keuze voor de buitenbrief een aantal keren gelijk aan de breedte.

    U gebruikt if-opdrachten wanneer u wilt zien of een voorwaarde waar of onwaar is.Het symbool == in Ruby stelt de vraag: "Is het ding aan de linkerkant gelijk aan het ding aan de rechterkant van het == symbool? "Als dat zo is, dan zal Ruby de coderegels uitvoeren tot een andere voorwaarde of een eindwoord.

  4. Voeg vervolgens een vinkje toe om te zien of dit de laatste rij is. Het elsif-sleutelwoord begint met een andere conditietest en plaatst deze vlak voor het vorige eindwoord. Dat is overigens geen spelfout. Ruby heeft gewoon een grappige manier om "else if" te zeggen! Het geheel ziet er als volgt uit:

    indien rij == 1 zet buitenletter * breedte elsif rij == hoogte zet buitenletter * breedte einde
    
  5. Tot slot moet u de weergave van alle rijen in het midden afhandelen, dus voeg een laatste voorwaarde toe met Ruby's else-trefwoord. Deze code komt vlak voor het eindwoord. Hier is het hele blok van Ruby:

    als rij == 1 zet buiten_brief * breedte elsif rij == hoogte zet buiten_brief * breedte anders midden = binnen_brief * (breedte - 2) zet "# {buiten_brief} # {midden} # { outside_letter} "end
    

    De middelste case ziet er ingewikkeld uit. Wat doet het? Welnu, volgens uw algoritme moet het de linker- en rechterrand tekenen en alles in het midden.

    De middelste variabele berekent de reeks die het midden van de rechthoek vertegenwoordigt. Als u er één weghaalt voor het karakter aan de linkerrand en één voor het rechterrandteken, is de uiteindelijke breedte van het midden de volledige breedte minus twee tekens.

    De laatste put-instructie maakt gebruik van tekenreeksverwerking om de gecombineerde rij te maken.

  6. Voer uw programma uit en kijk of u fouten heeft. Krijg je zoiets als wat hier wordt getoond? Als u een fout ziet die iets zegt als een vergelijking van Fixnum met String is mislukt, betekent dit dat Ruby moeite had de waarde in shape_size als een getal te gebruiken.

    Ruby weet niet zeker hoe tekenreeksen voor getallen moeten worden gebruikt.

    Waarom is dat een probleem als je een nummer hebt ingetypt? Wel, je krijgt reads in je invoer, maar het leest alle karakters die je typt als een string. Je moet Ruby helpen de reeks naar een getal te converteren.

  7. Wijzig de twee regels waar u de hoogte- en breedtevariabelen instelt om de methode to_i te gebruiken, wat inhoudt dat de inhoud van deze variabele wordt geconverteerd naar een geheel getal (getal):

    height = shape_size. to_i width = shape_size. to_i
    

    Voer uw code opnieuw uit. Succes!

    Is dit 's werelds meest opwindende rechthoek?
Hoe code in Ruby te maken om een ​​rechthoek te tekenen - dummies

Bewerkers keuze

Key Taoists in History - dummies

Key Taoists in History - dummies

De oorsprong van het taoïsme reikt terug tot het prehistorische China, en heeft een sterke invloed gehad over de Chinese cultuur in de loop van zijn geschiedenis. De volgende mensen vormden het Taoïsme in de tijd en maakten het tot wat het nu is: Lao Tzu: Lao Tzu is de traditionele & ldquo; oprichter & rdquo; van het taoïsme en de befaamde auteur van de Tao Te Ching. ...

Woorden die worden gebruikt om religieuze twijfel te beschrijven en te labelen - dummies

Woorden die worden gebruikt om religieuze twijfel te beschrijven en te labelen - dummies

Atheïsme en andere soorten religieuze twijfel zijn verworden a-blok met labels en voorwaarden. Sommige zijn belangrijker dan andere; sommige zijn neutraal of positief; anderen worden gebruikt (zelfs door atheïsten) als putdowns. De volgende lijst bevat alle belangrijke labels: goed, slecht en lelijk. Atheist: Gelooft niet dat er een god of goden bestaat. Agnostisch: ...

Basisbeginselen van tools voor het bewerken van mobiele foto's voor visuele sociale marketing - dummies

Basisbeginselen van tools voor het bewerken van mobiele foto's voor visuele sociale marketing - dummies

Met meer en meer mensen gebruikmakend van hun smartphones om foto's te maken voor visuele sociale marketing, is het niet verrassend dat veel toepassingen voor het bewerken van mobiele telefoons beschikbaar zijn. Dit zijn de voordelen van het gebruik van mobiele bewerkings-apps: ze zijn meestal gemakkelijk te gebruiken. Ze kosten meestal minder dan $ 5. Ze hebben unieke filters en bewerken ...

Bewerkers keuze

Hoe u metrics vermijdt met uw website Analytics-gegevens - dummies

Hoe u metrics vermijdt met uw website Analytics-gegevens - dummies

U kunt zich afvragen hoe ter wereld je fouten kunt maken met gegevens die in nette rapporten en grafieken aan je worden geleverd. Social media-metricservices doen er alles aan om alle en alle gegevens die u hen opgeeft, te verzamelen. Er zijn veel valkuilen voor statistieken. U kunt eenvoudig ...

Hoe codes en patronen voor sociale media te ontcijferen - dummies

Hoe codes en patronen voor sociale media te ontcijferen - dummies

Terwijl u uw sociale netwerk volgt media-metrieken in de loop van de tijd en beginnen met het gebruik van enkele van de volgende laag-hulpmiddelen, zoals segmentatie en dayparting, om uw online en sociale interactie te analyseren, het is belangrijk om uw oog te houden op patronen van gebruik, interesse en betrokkenheid en de geheime codes uw bezoekers en fans / volgers sturen ...

Hoe u uw Klout-account verwijdert - dummies

Hoe u uw Klout-account verwijdert - dummies

Als u besluit dat u niet langer wenst deel te nemen aan Klout, je kunt je volledig afmelden door naar de opt-outpagina op Klout te gaan. com. Omdat Klout openbare informatie gebruikt die van het internet is gehaald, kan het zijn dat er al wat gegevens voor u zijn opgeslagen, zelfs als u zich niet voor Klout hebt aangemeld. Of u nu wel of niet ...

Bewerkers keuze

Het tabblad Lettertype gebruiken in Word 2007 - dummies

Het tabblad Lettertype gebruiken in Word 2007 - dummies

Het tabblad Lettertype in het lettertype Word 2007 Het dialoogvenster bevat veel opdrachten voor het opmaken van tekst, waaronder enkele die u niet kunt openen via de groep Lettertype op het tabblad Start. U kunt bijvoorbeeld ook effecten zoals schaduwen en embossing toevoegen en een voorbeeld van de resultaten bekijken voordat u ze toepast. Roep het dialoogvenster Lettertype op. ...

Hoe u de opdracht Go To gebruikt in Word 2007 - dummies

Hoe u de opdracht Go To gebruikt in Word 2007 - dummies

Gebruikt u de opdracht Ga naar in Word 2007 om de invoegwijzer naar een specifieke pagina of regel te sturen of naar de locatie van een aantal interessante dingen die Word mogelijk in uw document kan invoegen.

Hoe de opdracht Ga naar Commando te gebruiken in Word 2016 - dummies

Hoe de opdracht Ga naar Commando te gebruiken in Word 2016 - dummies

U om de invoegwijzer naar een specifieke pagina of regel te sturen of naar de locatie van een aantal interessante items die Word mogelijk in uw document kan proppen. De opdracht Ga naar is je tekstverwerkende teleporter naar elke willekeurige locatie. Ga als volgt te werk om de opdracht Ga naar te gebruiken: ...