I Rubin, behøver du ikke at erklære variabler, men du skal tildele dem noget før de kan henvises til.
Hvis du henviser til en lokal variabel der ikke findes endnu, kan du se en af to fejl.
Ruby NameError-meddelelser
NameError: udefineret lokal variabel eller metode `a 'til #
NameError: udefineret lokal variabel eller metode 'a' til main: Object
Bemærk: Der kan være forskellige identifikatorer i stedet for 'en' over.
Dette er et eksempel, hvor koden genererer meddelelsen Ruby "NameError" siden variablen -en er endnu ikke blevet tildelt noget:
sætter en
Sådan rettes fejlen
Variabler skal tildeles, før de kan bruges. Så ved hjælp af eksemplet ovenfra er rettelse af fejlen så simpelt som at gøre dette:
a = 10. sætter en.
Hvorfor du får denne fejl
Det åbenlyse svar er, at du henviser til en variabel, der endnu ikke er oprettet. Dette skyldes oftest en skrivefejl, men kan ske, når man refaktorificerer kode og omdøber variabler.
Du kan muligvis også se "NameError: udefineret lokal variabel" Rubin-fejl, hvis du havde til hensigt at indtaste en streng. Strenge forstås, når de findes mellem citater. Hvis du ikke brugte citater, vil Ruby tro, at du mente at henvise til en metode eller variabel (der ikke findes) og kaste fejlen.
Så se tilbage på din kode for at se, hvad denne variabel skal referere til, og rett den. Det kan også være en god ide at søge efter andre forekomster med det samme variabelnavn på samme metode - hvis det er forkert et sted, kan det være forkert i andre.