Kaip išspręsti „neapibrėžtą vietinį kintamąjį“ „Ruby“ klaidą

Į Rubinas, jūs neprivalote deklaruoti kintamųjų, tačiau turite ką nors jiems priskirti, kad būtų galima į juos kreiptis.

Jei jūs kalbate apie vietinis kintamasis to dar nėra, galite pamatyti vieną iš dviejų klaidų.

„Ruby NameError“ pranešimai

„NameError“: neapibrėžtas vietinis kintamasis arba metodas „a“, skirtas # 
„NameError“: neapibrėžtas vietinis kintamasis arba metodas „a“ pagrindiniam: Objektas

Pastaba: Vietoje. Gali būti įvairių identifikatorių 'a' aukščiau.

Tai pavyzdys, kai kodas sugeneruos Ruby pranešimą „NameError“ nuo kintamojo a dar niekam nebuvo priskirtas:

kelia a

Kaip ištaisyti klaidą

Kintamieji turi būti priskirti prieš juos naudojant. Taigi, naudojant aukščiau pateiktą pavyzdį, klaidą ištaisyti yra taip paprasta:

a = 10. kelia a. 

Kodėl jūs gaunate šią klaidą

Akivaizdus atsakymas yra tas, kad jūs kalbate apie dar nesukurtą kintamąjį. Dažniausiai tai atsitinka dėl klaidos, tačiau gali nutikti taisant kodą ir pervardijant kintamuosius.

Taip pat galite pamatyti rubrikos klaidą „NameError: neapibrėžtas vietinis kintamasis“, jei ketinote įvesti eilutę. Stygos suprantamos, kai jos egzistuoja tarp kabučių. Jei nenaudojote kabučių, „Ruby“ pamanys, kad norėjote nurodyti metodą ar kintamąjį (tokio nėra) ir išmes klaidą.

instagram viewer

Taigi, pažiūrėkite atgal į savo kodą, kad pamatytumėte, ką šis kintamasis turėtų remtis, ir pataisykite. Taip pat galite ieškoti kitų to paties kintamojo pavadinimo egzempliorių tuo pačiu metodu - jei jis klaidingas vienoje vietoje, gali būti neteisingas kitose.