So lösen Sie einen Ruby-Fehler "undefinierte lokale Variable"

click fraud protection

Im RubinSie müssen keine Variablen deklarieren, aber Sie müssen ihnen etwas zuweisen, bevor auf sie verwiesen werden kann.

Wenn Sie sich auf a beziehen lokale Variable Das gibt es noch nicht. Möglicherweise wird einer von zwei Fehlern angezeigt.

Ruby NameError-Nachrichten

NameError: undefinierte lokale Variable oder Methode `a 'für # 
NameError: undefinierte lokale Variable oder Methode `a 'für main: Object

Hinweis: Es können verschiedene Kennungen anstelle von vorhanden sein 'ein' über.

Dies ist ein Beispiel, in dem der Code die Ruby-Nachricht "NameError" seit der Variablen generiert ein wurde noch nichts zugewiesen:

setzt a

So beheben Sie den Fehler

Variablen müssen zugewiesen werden, bevor sie verwendet werden können. Anhand des obigen Beispiels ist das Beheben des Fehlers so einfach wie folgt:

a = 10. setzt a. 

Warum Sie diesen Fehler bekommen

Die offensichtliche Antwort ist, dass Sie sich auf eine Variable beziehen, die noch nicht erstellt wurde. Dies ist meistens auf einen Tippfehler zurückzuführen, kann jedoch beim Umgestalten von Code und beim Umbenennen von Variablen auftreten.

instagram viewer

Möglicherweise wird auch der Ruby-Fehler "NameError: undefinierte lokale Variable" angezeigt, wenn Sie eine Zeichenfolge eingeben möchten. Zeichenfolgen werden verstanden, wenn sie zwischen Anführungszeichen stehen. Wenn Sie keine Anführungszeichen verwendet haben, wird Ruby denken, dass Sie auf eine Methode oder Variable (die nicht vorhanden ist) verweisen und den Fehler auslösen möchten.

Sehen Sie sich also Ihren Code noch einmal an, um festzustellen, worauf sich diese Variable beziehen soll, und beheben Sie ihn. Möglicherweise möchten Sie auch nach anderen Instanzen desselben Variablennamens in derselben Methode suchen. Wenn dies an einer Stelle falsch ist, kann es an anderen Stellen falsch sein.

instagram story viewer