Kuinka ratkaista "määrittelemätön paikallinen muuttuja" Ruby -virhe

Sisään Rubiini, sinun ei tarvitse ilmoittaa muuttujia, mutta joudut määrittämään heille jotain ennen kuin niihin voidaan viitata.

Jos viitat a paikallinen muuttuja jota ei vielä ole, saatat nähdä yhden kahdesta virheestä.

Ruby NameError -viestit

NameError: määrittelemätön paikallinen muuttuja tai menetelmä `a 'for # 
NameError: määrittelemätön paikallinen muuttuja tai menetelmä "a" pää: Objektille

Huomautus: Tunnisteen sijasta voi olla erilaisia ​​tunnisteita 'A' edellä.

Tämä on esimerkki, jossa koodi tuottaa Ruby "NameError" -viestin muuttujan jälkeen ei ole vielä määritetty mihinkään:

asettaa a

Kuinka korjata virhe

Muuttujat on määritettävä, ennen kuin niitä voidaan käyttää. Joten virheen korjaaminen on yllä olevaa esimerkkiä käyttämällä yhtä helppoa kuin tämä:

a = 10. asettaa a. 

Miksi saat tämän virheen

Selvä vastaus on, että viitat muuttujaan, jota ei ole vielä luotu. Tämä johtuu useimmiten kirjoitusvirheestä, mutta voi tapahtua, kun koodia reaktoidaan ja muuttujia nimetään uudelleen.

Saatat nähdä myös "NameError: undefined local muuttuja" Ruby -virheen, jos aiot kirjoittaa merkkijono. Merkkijonot ymmärretään, kun niitä on lainausmerkkien välillä. Jos et käyttänyt lainausmerkkejä, Ruby luulee sinun tarkoittavan viitata menetelmään tai muuttujaan (jota ei ole olemassa) ja heittää virheen.

instagram viewer

Joten, katso taaksepäin koodisi nähdäksesi, mitä tämän muuttujan on tarkoitus viitata, ja korjaa se. Voit myös etsiä saman muuttujan nimen muita esiintymiä samalla menetelmällä - jos se on väärä yhdessä paikassa, se voi olla väärä muissa.

instagram story viewer