Hjem Personlig finansiering Syntaxfejl i Ruby - dummies

Syntaxfejl i Ruby - dummies

Video: iOS App Development with Swift by Dan Armendariz 2024

Video: iOS App Development with Swift by Dan Armendariz 2024
Anonim

Ruby forsøger at være nyttigt, når en del af dit program har en typografi eller gør noget uventet. Ruby viser en advarsels- eller fejlmeddelelse, ofte med oplysninger om hvor den fandt problemet i din kode.

For eksempel, hvis du ved et uheld lavede en skrivefelt, når du lavede en simpel matematik, ville Ruby fortælle dig, at du har en syntaksfejl.

Syntaks er som grammatik på engelsk. Et programmeringssprogs syntaks er strukturen, rækkefølgen og stavningen af ​​kommandoer og udsagn på det pågældende sprog.

Hvis du laver en forsætlig stavefejl:

2. 2. 2: 036> 3j + 3 SyntaxError: (irb): 36: Syntaxfejl, uventet TIDENTIFIER, forventer slutning af input 3j + 3 ^ fra / usr / bin / irb: 11: i & 
& apos;

Du mente ikke at skrive bogstavet j efter nummer 3, og i modsætning til hvad du kan skrive i skole, når du lærer algebra, er denne syntaks ikke gyldig Ruby.

Ruby viser en fejlmeddelelse, der er lidt kryptisk, men hvis du ser syntaksfejl og et linjenummer eller en placering, giver det dig et sted at begynde at undersøge, hvad der gik galt. I dette tilfælde viste Ruby hjælpsomt den forkerte linje med et lille pilsymbol, der pegede på det punkt, man troede var forkert. Tak Ruby!

Hvad sker der, når du forsøger at få Ruby til at vise en googolplex? En googol er et sjovt udtryk, der betyder 10 hævet til den 100. effekt. A googolplex er 1 efterfulgt af googol (10 100 ) nuller. Den amerikanske matematikere Edward Kasners 9-årige nevø, Milton Sirotta, formodede angiveligt begrebet og definerede det som et ciffer "et, efterfulgt af at skrive nul, indtil du bliver træt. "

I Interactive Ruby (IRB) gemmer du en googol i en variabel kaldet googol:

2. 2. 2: 030> googol = 10 ** 100 => 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Prøv nu at øge 10 med en googol:

2. 2. 2: 031> 10 ** googol (irb): 31: advarsel: i en ** b, b kan være for stor => Uendelig

Der er nogle grænser for Rubys matematiske færdigheder. Her viser Ruby dig en advarsel om, at den kommando, du lige har skrevet, ikke virker, fordi en del af beregningen er for stor. Det viser resultaterne som Infinity, som synes om rigtigt.

Se om Ruby kan finde et andet problem:

2. 2. 2: 037> x + 5 NameError: udefineret lokal variabel eller metode & x l'- for main: Objekt fra (irb): 37 fra / usr / bin / irb: 11: i & 
& apos;

I dette tilfælde forsøgte du at bruge en variabel, som du ikke har gemt noget i. Ruby ved ikke, hvad man skal gøre her, fordi det ikke kan finde en variabel med navnet x (endnu).Du ser ofte denne fejl, hvis du laver en skrivefelt i navnet på en variabel (eller en metode). Tjek din stavemåde og prøv igen.

En anden almindelig Ruby-fejl kan ses med denne kode:

2. 2. 2: 038> x = nil => nul 2. 2. 2: 039> x + 5 NoMethodError: udefineret metode & + L'- for nul: NilClass fra (irb): 39 fra / usr / bin / irb: 11: i & 
& apos;

Du kan tænke på nul som Rubys måde at repræsentere "ingenting på." "Fejlen Ruby viser betyder, at den ikke ved, hvordan man gør tilføjelse med nul, hvilket forekommer rimeligt. I din kode betyder dette sandsynligvis, at du forventede at modtage resultater fra en anden del af programmet, men koden returnerede intet.

Et sidste problem, du af og til ser, er, hvis du forsøger at gøre noget med uforenelige data:

2. 2. 2: 040> x = "a" => "a" 2. 2. 2: 041> x + 5 TypeError: ingen implicit konvertering af Fixnum til String fra (irb): 41: i & + L'- fra (irb): 41 fra / usr / bin / irb: 11: i & 
& apos;

Bogstavet a er tildelt til variabel x. Her forsøgte du dog at tilføje nummer 5 til bogstavet a. Det er klart, at dette er tull. Ruby mener også det og fortæller dig, at det ikke kan konvertere dataene på en måde, så det virker.

Du vil sandsynligvis køre ind i syntaksfeil oftest, fordi typografier er de nemmeste fejl at lave. Når du ser en fejlmeddelelse, er det bedst at sammenligne, hvad du skrev med dit projekt kode, omhyggeligt.

Syntaxfejl i Ruby - dummies

Valg af editor

Hvad er Array Formulas i Excel 2013? - dummies

Hvad er Array Formulas i Excel 2013? - dummies

En matrixformel i Excel 2013 (og andre regneark) er en speciel formel, der opererer på en række værdier. Hvis et celleområde leverer dette interval (som det ofte er tilfældet), betegnes det som et arrayinterval. Hvis denne rækkevidde leveres af en liste over numeriske værdier, er de kendt som ...

Ved hjælp af regnearkfunktioner til statistisk analyse i Excel 2016 - dummies

Ved hjælp af regnearkfunktioner til statistisk analyse i Excel 2016 - dummies

Excel 2016b har en række funktioner til Statistisk analyse. Funktionsbiblioteket på fanen Formler viser alle kategorier af Excel-regnearkfunktioner. Trinene i at bruge et regneark funktion er Skriv dine data i et datarray og vælg en celle for resultatet. Vælg den relevante formelskategori og vælg en ...

Hvad er nyt i Excel 2016 til statistisk analyse? - dummies

Hvad er nyt i Excel 2016 til statistisk analyse? - dummies

Microsoft har lavet nogle få ændringer i Excel's Ribbon (fanebåndet øverst), hvilket afspejler ændringer i Excel. Den mest oplagte tilføjelse er pæren øverst til højre for tilføjelser. Det er mærket "Fortæl mig hvad du vil gøre. "Dette kaldes Tell Me-boksen, og det er nyt ...

Valg af editor

Sådan postes på en vens Facebook-tidslinje - dummies

Sådan postes på en vens Facebook-tidslinje - dummies

Dit nyhedsfeed trækker indlæg, som dine Facebook-venner lav på et sted, så du kan læse dem alle på én gang. Men nogle gange vil du læse alt om kun en person. Heldigvis er alle deres indlæg blevet samlet på deres tidslinjer. Tidslinjen er ligesom en nyhedsfeed alt om en person. ...

Sådan sender du en Facebook-begivenhed - dummies

Sådan sender du en Facebook-begivenhed - dummies

Den første måde du sikkert finder ud af om Facebook begivenheden er gennem en anmeldelse. Når en ven inviterer dig til en begivenhed, vises et lille rødt flag over meddelelsesikonet i den store blå bar øverst. Klik på ikonet for at åbne din underretningsmenu; Klik derefter på den invitation, der skal tages ...

Hvordan man kan se de billeder du er på Facebook - dummies

Hvordan man kan se de billeder du er på Facebook - dummies

Hvis du har meget af Facebook venner, du er sandsynligvis i et ton af fotos. Du kan se de billeder, du er i, uden at skulle gå hele Facebook, så længe du er mærket i dem. Måske har du tagget dem selv, eller dine venner har måske tagget dig. Det første sted du ...

Valg af editor

Digital SLR-fotografi Alt-i-One til Dummies Cheat Sheet - dummies

Digital SLR-fotografi Alt-i-One til Dummies Cheat Sheet - dummies

Hvis du 'er interesseret i fotografering, du finder ingen bedre enhed end en digital spejlreflekskamera (eller dSLR). Uanset om du er amatør eller professionel, kan du finde en dSLR, der passer til dine behov. Du kan virkelig ikke slå kombinationen af ​​magt, fleksibilitet, vækstpotentiale og "accessorize-ability" af en dSLR. Med oplysningerne i denne ...

Hvordan man tager gebyr som bryllupsfotograf - dummier

Hvordan man tager gebyr som bryllupsfotograf - dummier

Som bryllupsfotograf, dit job er at hjælpe De formelle portrætter flyder så jævnt som muligt. Du kan lægge meget af grunden i månederne før den faktiske bryllupsdato som du kommunikerer med parret. Hvis du gør dine lektier, kan du fokusere på at holde portræt sessioner organiseret og opretholde kontrol ...