Video: PHP Syntax 2024
Ruby probeert behulpzaam te zijn wanneer een deel van je programma een typefout heeft of iets onverwachts doet. Ruby geeft een waarschuwing of foutmelding weer, vaak met informatie over waar het probleem zich in uw code bevond.
Als u bijvoorbeeld per ongeluk een typfout maakt bij het uitvoeren van eenvoudige wiskundige bewerkingen, geeft Ruby aan dat u een syntaxisfout hebt.
Syntaxis is als grammatica in het Engels. De syntaxis van een programmeertaal is de structuur, volgorde en spelling van opdrachten en instructies in die taal.
Als u een opzettelijke spelfout hebt gemaakt:
2. 2. 2: 036> 3j + 3 SyntaxError: (irb): 36: syntaxisfout, onverwachte tIDENTIFIER, verwacht end-of-input 3j + 3 ^ van / usr / bin / irb: 11: in & apos;& apos;
U wilde de letter j na het getal 3 niet typen, en in tegenstelling tot wat u op school kunt schrijven tijdens het leren van algebra, is deze syntaxis niet geldig voor Ruby.
Ruby geeft een foutmelding weer die een beetje cryptisch is, maar als je een syntaxisfout en een regelnummer of locatie ziet, krijg je een plek om te onderzoeken wat er mis ging. In dit geval heeft Ruby de verkeerde regel behulpzaam weergegeven met een klein pijlsymbool dat wijst naar het punt dat volgens hem verkeerd was. Bedankt, Ruby!
Wat gebeurt er wanneer je probeert Ruby een googolplex te laten zien? Een googol is een leuke term die 10 betekent verhoogd naar de 100e macht. Een googolplex is 1 gevolgd door googol (10 100 ) nullen. Naar verluidt heeft de 9-jarige neef van de Amerikaanse wiskundige Edward Kasner, Milton Sirotta, de term bedacht en gedefinieerd als de eerste, gevolgd door het schrijven van nullen totdat je moe wordt. "
In Interactive Ruby (IRB), sla een googol op in een variabele met de naam googol:
2. 2. 2: 030> googol = 10 ** 100 => 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Probeer nu 10 te verhogen met een googol:
2. 2. 2: 031> 10 ** googol (irb): 31: waarschuwing: in a ** b, b kan te groot zijn => oneindig
Er zijn enkele beperkingen aan de wiskundige vaardigheden van Ruby. Hier laat Ruby je een waarschuwing zien dat de opdracht die je net hebt getypt niet werkt omdat een deel van de berekening te groot is. Het toont de resultaten als Infinity, wat ongeveer goed lijkt.
Kijk of Ruby een ander probleem kan vinden:
2. 2. 2: 037> x + 5 NameError: ongedefinieerde lokale variabele of methode & apos; x & apos; for main: Object from (irb): 37 from / usr / bin / irb: 11: in & apos;& apos;
In dit geval hebt u geprobeerd een variabele te gebruiken waarin u niets hebt opgeslagen. Ruby weet hier niet wat te doen, omdat er geen variabele met de naam x (nog) kan worden gevonden.U ziet deze fout vaak als u een typfout maakt in de naam van een variabele (of methode). Controleer uw spelling en probeer het opnieuw.
Een andere veel voorkomende Ruby-fout kan worden gezien met deze code:
2. 2. 2: 038> x = nil => nihil 2. 2. 2: 039> x + 5 NoMethodError: ongedefinieerde methode & apos; + & Apos; voor nihil: NilClass vanaf (irb): 39 van / usr / bin / irb: 11: in & apos;& apos;
Je kunt niets bedenken als Ruby's manier om "niets" weer te geven. "De fout die Ruby toont, betekent dat het niet weet hoe je optellen met nul moet doen, wat redelijk lijkt. In uw code zou dit waarschijnlijk betekenen dat u verwachtte resultaten van een ander deel van het programma te ontvangen, maar de code gaf niets terug.
Een laatste probleem dat u af en toe tegenkomt, is als u iets probeert te doen met incompatibele gegevens:
2. 2. 2: 040> x = "a" => "a" 2. 2. 2: 041> x + 5 TypeError: geen impliciete conversie van Fixnum naar String van (irb): 41: in & apos; + & Apos; from (irb): 41 van / usr / bin / irb: 11: in & apos;& apos;
De letter a is toegewezen aan variabele x. Hier probeerde u echter het cijfer 5 toe te voegen aan de letter a. Het is duidelijk dat dit onzin is. Ruby denkt van wel, en vertelt je dat het de gegevens niet op een manier kan omzetten om het te laten werken.
U zult waarschijnlijk de meeste syntaxfouten tegenkomen, omdat typefouten de gemakkelijkste bugs zijn om te maken. Wanneer u een foutmelding krijgt, is uw beste manier om zorgvuldig te vergelijken wat u hebt getypt met de code van uw project.