Kako riješiti grešku Ruby "nedefinirane lokalne varijable"

U Rubin, ne morate deklarirati varijable, ali morate im dodijeliti nešto prije nego što se mogu uputiti.

Ako mislite na a lokalna varijabla koja još ne postoji, možda ćete vidjeti jednu od dvije pogreške.

Ruby NameError poruke

NameError: nedefinirana lokalna varijabla ili metoda `a 'za # 
NameError: nedefinirana lokalna varijabla ili metoda `a 'za glavni: Objekt

Bilješka: Umjesto njega, mogu biti različite identifikatore 'A' iznad.

Ovo je primjer gdje će kôd generirati Ruby "NameError" poruku od varijable još nije dodijeljeno ni za što:

stavlja a

Kako popraviti pogrešku

Prije upotrebe moraju se dodijeliti varijable. Dakle, koristeći gore navedeni primjer, ispravljanje pogreške je jednostavno kao i sljedeće:

a = 10. stavlja a. 

Zašto dobivate ovu pogrešku

Očigledan odgovor je da se spominjete varijablu koja još nije stvorena. To je najčešće zbog pogreška pri upisu, ali može se dogoditi prilikom ponovnog faktoringa koda i preimenovanja varijabli.

Također možete vidjeti "NameError: nedefinirana lokalna varijabla" Ruby error ako ste namjeravali unijeti niz. Nizovi se razumiju kada postoje između citata. Ako niste koristili navodnike, Ruby će pomisliti da ste mislili na referencu na metodu ili varijablu (koja ne postoji) pa će pogriješiti.

instagram viewer

Dakle, pogledajte svoj kôd da biste vidjeli na što se ova varijabla odnosi i popravite je. Možda ćete htjeti potražiti i druge instance istog naziva varijable u istoj metodi - ako na jednom mjestu nije u redu, na drugim može biti pogrešno.

instagram story viewer