Hjem Personlig finansiering Syntaxfejl i Ruby - dummies

Syntaxfejl i Ruby - dummies

Video: iOS App Development with Swift by Dan Armendariz 2025

Video: iOS App Development with Swift by Dan Armendariz 2025
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

Få hjælp til din kodependency - dummies

Få hjælp til din kodependency - dummies

Hvis du mener, at du måske er afhængig af hinanden, har du brug for hjælp til at ændre din adfærd. Her er nogle kilder til hjælp til dem, der lider af kodependens: Læs alt hvad du kan om kodependency (men læsning alene er utilstrækkelig til at ændre). Gå til et tolv-trinsmøde for kodependenter, f.eks. Codependents Anonym, kaldet CoDA eller Al-Anon for ...

Helbredelse Depression med Mindfulness er muligt - men det tager tid - dummies

Helbredelse Depression med Mindfulness er muligt - men det tager tid - dummies

Med den rigtige støtte , er opsving fra depression med mindfulness muligt. Det er nyttigt at huske at enhver helbredelse gennem depression tager tid og ofte mødes med en op og ned proces af lows, højder, stabile perioder, lavt niveau igen, så mere stabile tider, der fører til en anden forbedring og følelse bedre. Så meget som du ...

Sunde alternativer til loathsome Personal Labels - dummies

Sunde alternativer til loathsome Personal Labels - dummies

Du kan forandre hvordan du føler ved at ændre den måde du tænker og snakker om dig selv. Nedenstående tabel opdeler mellem negative selvdæmpende etiketter, som du måske siger højt eller indadtil tænker på dig selv og konstruktive sundere bekræftelser, som du kan vælge at sige og føle i stedet. At skifte dine ord på denne måde kan hjælpe dig ...

Valg af editor

Sådan oprettes dit DSLR-filmprojekt - dummier

Sådan oprettes dit DSLR-filmprojekt - dummier

Det er nemt at starte et DSLR-filmprojekt. Bare gå til Fil → Ny → Projekt for at lave en ny. Derefter skal du give det et navn, helst en der har noget at gøre med filmen. Du kan kalde det The Last Kiss eller Debbie. Det er ligegyldigt. Bare navngiv det og klik på OK. Udnyt ...

Sådan skaber du dramatisk lys til din DSLR-film - dummier

Sådan skaber du dramatisk lys til din DSLR-film - dummier

Forstå begrebet dramatisk belysning er en start, men teori får dig kun så langt. Det hjælper ikke medmindre du kan bruge din DSLR til at skabe overbevisende belysning. Traditionelt trepunkts lys giver et godt udgangspunkt. Derefter bliver tingene mere interessante. Filmlys som Rembrandt Når du tænker på det mest dramatiske ...

Hvordan man laver magiske film med flip video - dummier

Hvordan man laver magiske film med flip video - dummier

En magisk film er magisk, primært fordi du er overlader det til FlipShare til at redigere sammen tilfældige segmenter af dine klip og billeder i en endelig forkortet film, der fanger den overordnede essens af dine klip. Nogle vigtige beslutninger Magic Movie-funktionen gør med hensyn til dine klip, når du opretter en Magic Movie ...

Valg af editor

Hvordan man arbejder med CSS3-moduler - dummier

Hvordan man arbejder med CSS3-moduler - dummier

For at gøre det enklere, kan CSS3-modulerne adskilles i ti kategorier: grænser, baggrunde, skrifttyper, teksteffekter, flere kolonner, overgange, 2D overgange, 3D overgange, animationer og brugergrænseflade. Tag et kort kig på hvert modul for at se, hvad det kan gøre. Grænser: Grænsemodulet udvider kapaciteterne i grænsekategorien ved at tilføje valgmuligheder ...

Sådan arbejder du med CSS3 Pattern Selectors - dummies

Sådan arbejder du med CSS3 Pattern Selectors - dummies

I nogle tilfælde et valg du har brug for make in CSS3 har intet at gøre med enten tags eller attributter, men mønsteret, hvor objekterne vises på siden. Du kan f.eks. Kun vælge det første objekt, uanset hvad det pågældende objekt kan være. I nogle tilfælde vil du ...

Hvordan man arbejder med skyder i CSS3 - dummies

Hvordan man arbejder med skyder i CSS3 - dummies

Skydere giver brugeren mulighed for at indtaste en værdi visuelt - som en del af en helhed. I CSS3 sikrer en skyder, at brugeren indtaster en korrekt værdi inden for en række værdier, så du behøver ikke bekymre dig om sikkerhedsproblemer eller forkerte værdier. Som et resultat giver skyderen et værdifuldt middel til ...