Iekšā Rubīns, jums nav jādeklarē mainīgie, bet jums kaut kas viņiem jāpiešķir, pirms uz tiem var atsaukties.
Ja jūs atsaucaties uz a vietējais mainīgais tas vēl neeksistē, iespējams, redzēsit vienu no divām kļūdām.
Ruby NameError Messages
NameError: nenoteikts vietējais mainīgais vai metode “a” for #
NameError: nedefinēts vietējais mainīgais vai metode a: galvenajam: objektam
Piezīme: Vietnes vietā var būt dažādi identifikatori 'a' virs.
Šis ir piemērs, kurā kods ģenerēs Ruby ziņojumu “NameError” kopš mainīgā a vēl nav piešķirta nevienam:
liek a
Kā novērst kļūdu
Mainīgie ir jāpiešķir, pirms tos var izmantot. Tātad, izmantojot iepriekš minēto piemēru, kļūdas labošana ir tikpat vienkārša:
a = 10. liek a.
Kāpēc jūs saņemat šo kļūdu?
Acīmredzamā atbilde ir, ka jūs atsaucaties uz mainīgo, kas vēl nav izveidots. Visbiežāk tas notiek kļūdas dēļ, bet tas var notikt, atjaunojot kodu un mainot mainīgos.
Iespējams, redzēsit arī Ruby kļūdu “NameError: undefined vietējais mainīgais”, ja plānojāt ievadīt virkni. Stīgas saprot, kad tās pastāv starp pēdiņām. Ja jūs neizmantojāt pēdiņas, Rubīns uzskatīs, ka domājāt atsaukties uz metodi vai mainīgo (kas neeksistē), un norādīsit kļūdu.
Tātad, atskatieties uz savu kodu, lai redzētu, uz ko šis mainīgais it kā attiecas, un salabojiet to. Iespējams, vēlēsities meklēt arī citus tā paša mainīgā nosaukuma gadījumus ar vienu un to pašu metodi - ja tas vienā vietā ir nepareizs, citās var būt nepareizs.