In Robijn, je hoeft geen variabelen te declareren, maar je moet er wel iets aan toewijzen voordat er naar verwezen kan worden.
Als je verwijst naar een lokale variabele die nog niet bestaat, ziet u mogelijk een van de twee fouten.
Ruby NameError Messages
NameError: ongedefinieerde lokale variabele of methode `a 'voor #
NameError: ongedefinieerde lokale variabele of methode `a 'voor main: Object
Notitie: Er kunnen verschillende ID's zijn in plaats van 'een' bovenstaand.
Dit is een voorbeeld waarbij de code het Ruby "NameError" -bericht genereert sinds de variabele een is nog niet aan iets toegewezen:
zet een
Hoe de fout op te lossen
Variabelen moeten worden toegewezen voordat ze kunnen worden gebruikt. Dus, met behulp van het voorbeeld van hierboven, is het oplossen van de fout net zo eenvoudig als dit doen:
a = 10. zet een.
Waarom krijg je deze foutmelding?
Het voor de hand liggende antwoord is dat u verwijst naar een variabele die nog niet is gemaakt. Dit komt meestal door een typefout, maar kan optreden bij het refactoreren van code en het hernoemen van variabelen.
Mogelijk ziet u ook de Ruby-fout 'NameError: undefined local variable' als u van plan was een tekenreeks in te voeren. Tekenreeksen worden begrepen wanneer ze tussen aanhalingstekens staan. Als je geen aanhalingstekens hebt gebruikt, zal Ruby denken dat je bedoelde om naar een methode of variabele te verwijzen (die niet bestaat) en de fout te gooien.
Kijk dus terug naar uw code om te zien waar deze variabele naar verwijst en repareer deze. Mogelijk wilt u ook op dezelfde manier zoeken naar andere instanties met dezelfde variabelenaam - als het op de ene plaats fout is, kan het op de andere fout zijn.