Die Studienzeit ist jetzt in der 11. Woche. Ich werde vorstellen, was ich bisher gelernt habe und was ich oft Fehler mache.
Diese Zeit ist "Bearbeitungsauftrag". Obwohl es sich um einen grundlegenden und rudimentären Inhalt in den Grundlagen handelt, gibt es viele Fälle, in denen ein Fehler aufgrund der falschen Reihenfolge der Beschreibung aufgetreten ist. Ich hoffe, dass dies für diejenigen hilfreich ist, die gerade erst anfangen zu lernen. Da die Sprache, die wir gerade lernen, "Ruby" ist, wird der Inhalt auch der von "Ruby" sein.
Die verwendete Version von Ruby ist wie folgt.
ruby 2.6.5
Zunächst ist die Reihenfolge der Programmverarbeitung in der Quelle grundsätzlich ** "in der Reihenfolge von oben nach unten, Zeile für Zeile" *. Dies ändert sich auch dann nicht, wenn Sie eine App mit einer komplizierten Beschreibung oder Ruby on Rails erstellen. ( Wenn Sie eine Methode aufrufen, eine bedingte Verzweigung durchführen oder die Verarbeitung wiederholen, springt die Zeile möglicherweise von unten nach oben. Sie ist jedoch leichter zu verstehen, wenn Sie die grundlegende Verarbeitungsreihenfolge kennen.) In einem einfachen Programm ausgedrückt
puts "1. Zeile"
puts "2. Zeile"
puts "3. Zeile"
Wenn Sie schreiben, wenn Sie es auf der Konsole ausführen
1. Zeile
2. Zeile
3. Zeile
Es wird sein. Mit dieser Beschreibung kommt das Ausgabeergebnis des Programms setzt "3. Zeile"
nicht in die 1. Zeile. Es wäre schwer, wenn es das gäbe.
Wenn sich die bedingte Verzweigung (wenn, während usw.) oder die wiederholte Verarbeitung (jeweils Zeiten usw.) damit überschneidet, ist die Reihenfolge der Verarbeitung tendenziell spärlich. (Vielleicht bin ich der einzige ...)
Nehmen Sie zum Beispiel das berühmte ** "FizzBuzz Problem" ** als Beispiel.
FizzBuzz Problem
1~Erstellen Sie ein Programm, das die Nummer 100 ausgibt.
Wenn es ein Vielfaches von 3 ist, wird es als "Fizz" angezeigt, und wenn es ein Vielfaches von 5 ist, wird es als "Buzz" angezeigt.
Erstellen Sie ein Programm zur Anzeige.
Wenn es sich jedoch um ein Vielfaches von 15 handelt, wird "Fizz Buzz" angezeigt.
Ein Beispiel für diese Antwort ist
#Richtiger Code
def fizz_buzz
num = 0
while num <= 99
num += 1
if num % 15 == 0
puts "FizzBuzz"
elsif num % 3 == 0
puts "Fizz"
elsif num % 5 == 0
puts "Buzz"
else
puts num
end
end
end
puts fizz_buzz
Das Ausgabeergebnis ist wie folgt
Lassen Sie uns die Reihenfolge der bedingten Ausdrücke in diesem Programm wie folgt ändern.
#Falscher Code
def fizz_buzz
num = 0
while num <= 99
num += 1
if num % 3 == 0 # num % 15 ==Geändert vom bedingten Ausdruck 0
puts "Fizz"
elsif num % 5 == 0
puts "Buzz"
elsif num % 15 == 0 #num % 3 ==Geändert vom bedingten Ausdruck 0
puts "FizzBuzz"
else
puts num
end
end
end
puts fizz_buzz
Hier ist das Ausgabeergebnis, wenn wie oben beschrieben.
Wenn es ein Vielfaches von 15 ist, wird "FizzBuzz" nicht angezeigt, aber "Fizz" wird angezeigt. Der Grund dafür ist "Ich verstehe die Reihenfolge der Verarbeitungsprogramme nicht."
In der Reihenfolge der Verarbeitung des oben genannten falschen Codes Wenn zum Beispiel num == 3,
#Falscher Code
if num % 3 == 0 #Diese Formel gilt
puts "Fizz"
=> "Fizz"
Wenn num == 5
#Falscher Code
if num % 3 == 0 # num ==5 ist nicht durch 3 teilbar, also gehen Sie wie folgt vor
puts "Fizz"
elsif num % 5 == 0 # num ==5 ist durch 5 teilbar, also mach das
puts "Buzz"
=> "Buzz"
Wenn das Problem num == 15 ist
#Falscher Code
if num % 3 == 0 # num ==15 ist teilbar durch 3, also mach das!
puts "Fizz"
elsif num % 5 == 0 # num ==15 wurde verarbeitet und funktioniert nicht mehr.
puts "Buzz"
elsif num % 15 == 0 # num ==15 wurde verarbeitet und funktioniert nicht mehr.
puts "FizzBuzz"
end
=> "Fizz"
Es wird so verarbeitet. Achten Sie also auf die Reihenfolge, in der Sie das Programm schreiben.
if num % 15 == 0 #Zunächst wird bestimmt, ob num durch 15 teilbar ist.
puts "FizzBuzz" #Wenn der bedingte Ausdruck wahr ist"FizzBuzz"Wenn die Anzeige nicht zutrifft, fahren Sie mit dem nächsten fort
elsif num % 3 == 0 #Als nächstes ist es nicht durch 15 teilbar, aber es wird beurteilt, ob es durch 3 teilbar ist.
puts "Fizz" #Wenn der bedingte Ausdruck wahr ist"Fizz"Wird angezeigt.
#Wenn dies auch nicht zutrifft, fahren Sie mit dem nächsten fort
elsif num % 5 == 0 #Es ist nicht durch 3 oder 15 teilbar, aber es wird beurteilt, ob es durch 5 teilbar ist.
puts "Buzz" #Wenn der bedingte Ausdruck wahr ist"Buzz"Wird angezeigt.
#Wenn dies auch nicht zutrifft, fahren Sie mit dem nächsten fort
else
puts num #Wenn nicht alle vorherigen Bedingungen erfüllt sind
end #Zeigen Sie die Nummer so an, wie sie ist
das ist alles. Es ist eine grundlegende Sache, aber aus meiner bisherigen Erfahrung gab es Situationen, in denen ich in Schwierigkeiten war, weil ich diese Grundlagen nicht wirklich verstanden habe. Ich würde es begrüßen, wenn Sie sich darauf beziehen könnten, wenn Sie ähnlichen Situationen gegenüberstehen.
Recommended Posts