Video: Syntax Error 2025
Ruby versucht hilfreich zu sein, wenn ein Teil Ihres Programms einen Tippfehler hat oder etwas Unerwartetes tut. Ruby zeigt eine Warnung oder Fehlermeldung an, oft mit Informationen darüber, wo das Problem in Ihrem Code aufgetreten ist.
Wenn Sie zum Beispiel versehentlich einen Tippfehler gemacht haben, wenn Sie eine einfache Mathematik machen, würde Ruby Ihnen sagen, dass Sie einen Syntaxfehler haben.
Syntax ist wie Grammatik in Englisch. Die Syntax einer Programmiersprache ist die Struktur, Reihenfolge und Schreibweise von Befehlen und Anweisungen in dieser Sprache.
Wenn Sie einen absichtlichen Schreibfehler machen:
2. 2. 2: 036> 3j + 3 Syntaxfehler: (irb): 36: Syntaxfehler, unerwarteter tIDENTIFIER, Erwartungsende 3j + 3 ^ von / usr / bin / irb: 11: in & ap;& apos;
Sie wollten den Buchstaben j nicht nach der Zahl 3 eingeben, und im Gegensatz zu dem, was Sie in der Schule schreiben können, wenn Sie Algebra lernen, ist diese Syntax kein gültiger Ruby.
Ruby zeigt eine Fehlermeldung an, die etwas kryptisch ist. Wenn Sie jedoch einen Syntaxfehler und eine Zeilennummer oder einen Speicherort sehen, können Sie untersuchen, was falsch gelaufen ist. In diesem Fall zeigte Ruby hilfreicherweise die falsche Zeile mit einem kleinen Pfeilsymbol an, das auf den Punkt hindeutete, der als falsch empfunden wurde. Danke, Ruby!
Was passiert, wenn Sie Ruby versuchen, einen Googolplex anzuzeigen? Ein googol ist ein lustiger Ausdruck, der bedeutet, dass 10 auf die 100. Potenz erhöht wurde. Ein Googolplex ist 1 gefolgt von Googol (10 100 999) Nullen. Angeblich prägte der neunjährige Neffe Milton Sirotta, der amerikanische Mathematiker Edward Kasner, den Begriff und definierte ihn als die Ziffer "Eins", gefolgt von Nullen, bis man müde wurde. " Speichern Sie in Interactive Ruby (IRB) ein Googol in einer Variablen namens googol:
2. 2. 2: 030> googol = 10 ** 100 => 10000000000000000000000000000000000000000000000000000
Versuchen Sie jetzt, 10 mit einem googol zu erhöhen:2. 2. 2: 031> 10 ** googol (irb): 31: Warnung: in a ** b kann b zu groß sein => Unendlichkeit
Es gibt einige Grenzen für Rubys mathematische Fähigkeiten. Hier zeigt Ihnen Ruby eine Warnung, dass der gerade eingegebene Befehl nicht funktioniert, da ein Teil der Berechnung zu groß ist. Es zeigt die Ergebnisse als Infinity, was ungefähr richtig erscheint.
Überprüfen Sie, ob Ruby ein anderes Problem finden kann:
2. 2. 2: 037> x + 5 NameError: undefinierte lokale Variable oder Methode & ap; x & ap; für main: Objekt von (irb): 37 von / usr / bin / irb: 11: in & apos;
& apos;
In diesem Fall haben Sie versucht, eine Variable zu verwenden, in der Sie nichts gespeichert haben. Ruby weiß nicht, was hier zu tun ist, da es (noch) keine Variable namens x finden kann.Dieser Fehler wird häufig angezeigt, wenn Sie einen Tippfehler im Namen einer Variablen (oder Methode) eingeben. Überprüfen Sie Ihre Schreibweise und versuchen Sie es erneut.Ein weiterer häufiger Ruby-Fehler kann mit diesem Code erkannt werden:
2. 2. 2: 038> x = Null => Null 2. 2. 2: 039> x + 5 NoMethodError: undefinierte Methode & ap; + & ap; für null: NilClass von (irb): 39 von / usr / bin / irb: 11: in & ap;
& apos;
Sie können sich nichts vorstellen als Rubys Art, "nichts" darzustellen. "Der Fehler, den Ruby zeigt, bedeutet, dass es nicht weiß, wie es mit Null zu tun hat, was vernünftig erscheint. In Ihrem Code würde dies wahrscheinlich bedeuten, dass Sie erwarten, Ergebnisse von einem anderen Teil des Programms zu erhalten, aber der Code hat nichts zurückgegeben.Ein letztes Problem, das Sie gelegentlich sehen, ist, wenn Sie versuchen, etwas mit inkompatiblen Daten zu tun:
2. 2. 2: 040> x = "a" => "a" 2. 2. 2: 041> x + 5 TypeError: keine implizite Umwandlung von Fixnum in String von (irb): 41: in & ap; + & ap; von (irb): 41 aus / usr / bin / irb: 11: in & apos;
& apos;
Der Buchstabe a ist der Variablen x zugeordnet. Hier haben Sie jedoch versucht, die Zahl 5 zu dem Buchstaben a hinzuzufügen. Das ist eindeutig Unsinn. Ruby meint das auch und sagt Ihnen, dass er die Daten nicht so umwandeln kann, dass sie funktionieren.Am häufigsten werden Syntaxfehler auftreten, da Tippfehler die einfachsten Fehler sind. Wenn Sie eine Fehlermeldung sehen, sollten Sie Ihre Eingabe sorgfältig mit dem Code Ihres Projekts vergleichen.