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.
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.