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