V Ruby, spremenljivk vam ni treba prijaviti, vendar jim morate nekaj dodeliti, preden jih lahko napotite.
Če mislite na a lokalna spremenljivka ki še ne obstaja, boste morda videli eno od dveh napak.
Ruby sporočila o napaki
NameError: nedefinirana lokalna spremenljivka ali metoda `a 'za #
NameError: nedefinirana lokalna spremenljivka ali metoda `a 'za main: Objekt
Opomba: Namesto njih lahko obstajajo različni identifikatorji 'a' nad.
To je primer, ko bo koda ustvarila sporočilo Ruby "NameError" od spremenljivke a še ni dodeljen nič:
postavlja a
Kako popraviti napako
Pred uporabo jih je treba dodeliti spremenljivkam. Torej, s primerom zgoraj, je odpravljanje napake tako enostavno, kot to storite:
a = 10. postavlja a.
Zakaj ste dobili to napako?
Očiten odgovor je, da se sklicujete na spremenljivko, ki še ni bila ustvarjena. Najpogosteje se to zgodi zaradi tipkarske napake, vendar se lahko zgodi pri ponovnem prestrukturiranju kode in preimenovanju spremenljivk.
Morda boste videli tudi napako "NameError: nedefinirana lokalna spremenljivka", če želite namestiti niz. Strune se razumejo, kadar obstajajo med narekovaji. Če niste uporabili narekovajev, bo Ruby mislil, da ste mislili na sklicevanje na metodo ali spremenljivko (ki ne obstaja) in vrgel napako.
Torej, poglejte nazaj svojo kodo in si oglejte, na kaj naj se nanaša ta spremenljivka, in jo popravite. Morda boste želeli iskati tudi druge primerke istega imena spremenljivke v isti metodi - če je napačno na enem mestu, je v drugih napačno.