[RUBY] If-Anweisung und Verzweigungsverarbeitung

Filialverarbeitung

Sequentielle Verarbeitung

Wenn Sie Variablen und Puts verwenden, können Sie einige grundlegende Berechnungen durchführen und auf dem Bildschirm ausgeben. Fakt ist aber auch, dass es als Programm nicht ausreicht. Der Prozess der Ausführung verschiedener im Programm aufgezeichneter Prozesse in dieser Reihenfolge, Es wird sequentielle Verarbeitung genannt. Qiita

Filialverarbeitung

Programme können jedoch nicht allein durch sequentielle Verarbeitung erstellt werden. Verschiedene Dinge müssen in verschiedenen Situationen getan werden. Wenn Sie beispielsweise ein Spielprogramm erstellen, müssen Sie den Prozess gemäß den Bedingungen verzweigen, z. B. "Wenn Sie einen Feind treffen, ist das Spiel beendet". Diese Art der Verarbeitung, die unter bestimmten Bedingungen den Verarbeitungsablauf ändert, wird als Verzweigungsverarbeitung bezeichnet.

Qiita

In der Ruby-Sprache wird eine Anweisung namens if als Anweisung zur Beschreibung der Verzweigungsverarbeitung bereitgestellt. Hier werde ich es erklären.

if-Anweisung

Beispielprogramm Beginnen wir mit der if-Anweisung, die der grundlegendste Prozess der bedingten Verzweigung ist. Die if-Anweisung ist ein Wort, das auf Englisch "Was wäre wenn" bedeutet und zur Verarbeitung von "if ..." verwendet wird. Schauen Sie sich zunächst das folgende Programm an.

1-1.rb


def calculation
 puts "Geben Sie eine Nummer ein"
 a = gets.to_i
 if(a > 0) 
   puts "Der eingegebene Wert ist eine positive Zahl.\n"  #Ausführen, wenn es sich um eine positive Zahl handelt
 end
end

Wenn ich das Programm starte, wird "Geben Sie eine Nummer ein:" auf dem Konsolenbildschirm angezeigt. Der Cursor erscheint daneben und wechselt von der Tastatur in den Eingabemodus. Geben Sie nun eine positive Zahl über die Tastatur ein.

Ausführungsergebnis 1.(Der Tag, an dem Sie eine positive Niederlage erlitten haben)


Geben Sie eine Nummer ein:5
Der eingegebene Wert ist eine positive Zahl.

Dann wird "Der eingegebene Wert ist eine positive Zahl" wie oben angezeigt und das Programm endet. Selbst im selben Programm wird, wenn Sie 0 und eine negative Zahl eingeben, nichts angezeigt, wie unten gezeigt.

Ausführungsergebnis 2.(Wenn Sie 0 und eine negative Zahl eingeben)


Geben Sie eine Nummer ein:-

Als nächstes wird das Format der if-Anweisung erläutert, die bei der bedingten Verzweigung verwendet wird. Die if-Frau hat das folgende Format.

if-Anweisungsformat


if(#Bedingter Ausdruck)
  #wird bearbeitet
end

Wenn der bedingte Ausdruck in () erfüllt ist, führt die if-Anweisung den in {} enthaltenen Prozess aus. In 1-1.rb ist a> 0, dh a Wenn es größer als 0 ist, ist die Bedingung erfüllt und die put-Anweisung in {} wird ausgeführt. > Wird als Vergleichsoperator bezeichnet. Die Vergleichsoperatoren sind wie folgt.

Anwendungsbeispiel

Operator Bedeutung Anwendungsbeispiel
> Größer a > 0
>= das ist alles a >= 0
< Kleiner a < 0
<= Weniger als a <= 0
== gleich a == 0
!= Nicht gleich a != 0

Von Oben, Wenn dieses Programm anzeigt, dass die über die Tastatur eingegebene Zahl eine positive Ganzzahl ist, lautet der eingegebene Wert eine positive Zahl. Wird angezeigt, sonst wird nichts angezeigt. Wenn möglich, möchte ich jedoch eine Meldung anzeigen, auch wenn ein anderer Wert als eine positive Zahl eingegeben wird. Lassen Sie uns also den Mechanismus vorstellen, der dies als nächstes tun kann.

Qitta

if ~ else-Anweisung

・ Beispielprogramm Schauen Sie sich zunächst das folgende Programm an.

1-2.rb


def calculation
 puts "Geben Sie eine Nummer ein"
 a = gets.to_i
 if(a > 0) 
   puts "Der eingegebene Wert ist eine positive Zahl.\n"  #Ausführen, wenn es sich um eine positive Zahl handelt
 else
   puts "Der eingegebene Wert ist keine positive Zahl.\n" #Führen Sie aus, wenn 0 oder eine negative Zahl
 end
end

Das Ausführungsergebnis dieses Programms ändert sich nicht, wenn Sie nach der Ausführung eine positive Ganzzahl eingeben. Wenn Sie jedoch eine negative Zahl eingeben, lautet das Ausführungsergebnis wie folgt.

Ausführungsergebnis 3.(Wenn Sie 0 und eine negative Zahl eingeben)


Geben Sie eine Nummer ein:-1
Der eingegebene Wert ist keine positive Zahl.

sonst Aussage

Die hier angezeigte if ~ else-Anweisung hat das folgende Format. if ~ else Anweisungsformat

if(Bedingter Ausdruck)
  #Verarbeitung ①
else
  #Verarbeitung ②
end

Wenn der bedingte Ausdruck in () der if-Anweisung erfüllt ist, wird Prozess (1) auf dieselbe Weise ausgeführt, wie wenn die if-Anweisung allein verwendet wird. In anderen Fällen, dh wenn der bedingte Ausdruck nicht erfüllt ist, wird der Prozess (2) unter der else-Anweisung ausgeführt. Daher gibt dieses Programm "Der eingegebene Wert ist keine positive Zahl" aus, wenn a keine positive Ganzzahl ist, dh 0 oder ein negativer Wert. Das folgende Flussdiagramm Qiita

elsif Aussage

Beispielprogramm Bei Verwendung von if und else konnte ich die Verarbeitung schreiben, wenn eine bestimmte Bedingung erfüllt ist und wenn dies nicht der Fall ist. In der Realität gibt es jedoch viele Fälle, in denen die Bedingung aus mehreren Bedingungen besteht. Was soll ich in einem solchen Fall tun? Zu diesem Zeitpunkt ist elsif nützlich. Schauen wir uns zunächst das folgende Beispiel an.

1-3.rb


def math
 puts "1~Bitte geben Sie einen Wert von 3 ein:"
 num = gets.to_i
 if(num == 1) 
   puts "one\n"  #Verarbeitung, wenn num 1 ist
 elsif(num == 2) 
   puts "two\n" #Verarbeitung, wenn num 2 ist
 elsif(num == 3) 
   puts "three\n" #Verarbeitung, wenn num 3 ist
 else
   puts "Unangemessener Wert.\n" #Verarbeitung, wenn andere Werte eingegeben werden
 end
end
Ausführungsergebnis 1(Wenn ein Wert von 1 bis 3 eingegeben wird)
Bitte geben Sie einen Wert von 1 bis 3 ein:1
one
Ausführung Fruchtlieferung 2(Wenn ein anderer Wert eingegeben wird)
Bitte geben Sie einen Wert von 1 bis 3 ein:4
Unangemessener Wert.

Wenn Sie als Ergebnis 1 eingeben, wird es als eins angezeigt, wenn Sie 2 eingeben, wird es als zwei angezeigt, und wenn Sie 3 eingeben, wird es als drei angezeigt. Wenn Sie einen anderen Wert eingeben, "Bitte geben Sie einen Wert von 1 bis 3 ein", wenn und sonst allein Sie können die Verarbeitung nur ausführen, wenn eine Bedingung erfüllt ist und wenn dies nicht der Fall ist. Mit elsif ist es möglich, Fälle für mehrere Bedingungen zu trennen. Das Format der if-Anweisung einschließlich elsif lautet wie folgt.

Format der if ~ elsif ~ else-Anweisung

if(Bedingter Ausdruck ①)
Verarbeitung ①
elsif(Bedingter Ausdruck ②)
Verarbeitung ②
else
Verarbeitung ③
end

Wenn der bedingte Ausdruck (1) erfüllt ist, wird der Prozess (1) ausgeführt. Wenn der bedingte Ausdruck (2) erfüllt ist, wird der Prozess (2) ausgeführt. Wenn keine der Bedingungen erfüllt ist, wird der Prozess (3) ausgeführt. Sie können eine beliebige Anzahl </ font> von elsif nach if hinzufügen. Sie können also beliebig viele Bedingungen hinzufügen. aus diesem Grund. Der Verarbeitungsablauf von 1-3.rb ist wie folgt.

Qiita

Komplexe if-Anweisung

Beispielprogramm

Als nächstes kombinieren wir dieses Wissen, um eine komplexere if-Syntax zu erstellen. Schauen Sie sich zunächst das folgende Beispiel an.

list1-4.rb



 def main
  #Geben Sie den Würfelwurf ein
  puts "Bitte geben Sie eine Zahl von 1 bis 6 ein:"
  dice = gets.to_i
  #Finden Sie heraus, ob der Wert innerhalb des Würfelwurfs liegt
  if(1 <= dice && dice <= 6)
    if(dice == 2 || dice == 4 || dice == 6)
     #Teilen Sie die Verarbeitung danach auf, ob der Würfelwurf gerade oder ungerade ist
       puts "Ding (Es ist ein Schmetterling)\n"   #Wenn es gerade ist, ist es ein Schmetterling.
    else
       puts "Die Hälfte (Han)\n"  #Wenn es ungerade ist, halb (han)
    end
  else
    puts "Es ist eine Zahl außerhalb des Bereichs.\n"
  end
 end

Die Ausführungsergebnisse dieses Programms können grob in drei Typen unterteilt werden. Die erste ist eine gerade Zahl zwischen 1 und 6, Das heißt, wenn Sie einen Wert wie 2,4,6 eingeben. Wie unten gezeigt, wird "Es ist ein Schmetterling" angezeigt und das Programm endet.

Ausführungsergebnis 1.(2,4,Wenn 6 eingegeben wird)


Bitte geben Sie eine Zahl von 1 bis 6 ein:2
Ding(Schmetterling)ist.

Als nächstes, ebenfalls zwischen 1 und 6, wird "Half (Han)" angezeigt, wenn Sie diesmal eine ungerade Zahl wie 1,3,5 eingeben Gramm endet.

Ausführungsergebnis 2.(1,3 von,Wenn 5 eingegeben wird)


Bitte geben Sie eine Zahl von 1 bis 6 ein:5
Ding(Schmetterling)ist.

Wenn Sie eine andere Ganzzahl als 1 bis 6 eingeben, dh eine Zahl, die nicht den Würfeln entspricht, "liegt außerhalb des Bereichs". Wird angezeigt und das Programm endet.

Ausführungsergebnis 3.(Wenn eine Zahl außerhalb des Bereichs eingegeben wird)


Bitte geben Sie eine Zahl von 1 bis 6 ein: 10
Es ist eine Zahl außerhalb des Bereichs.

Recommended Posts

If-Anweisung und Verzweigungsverarbeitung
[Swift] Über die iterative Verarbeitung von "for-in-Anweisungen"
if-Anweisung
Ruby bedingte Verzweigungsverarbeitung
Über Rohölverarbeitung und Produkte mit Gerät (für Anfänger)
Linkverarbeitung und SQLite
Über Klassen und Instanzen
Über bekommt und bekommt.chomp
Über Weiterleiten und Weiterleiten
10 Entspricht der if-Anweisung
Studieren der Java-Part 10-if-Anweisung
Über Kapselung und Vererbung
Hash und jede Aussage
[Java] Verzweigen und Wiederholen
Informationen zu Serializable und serialVersionUID
Über synchronisierte und Wiedereintrittssperre
Java if- und switch-Anweisungen
Lassen Sie uns die if-Anweisung verstehen!
Gemeinsame Verarbeitung und Fehlerverarbeitung springmvc
Über Ruby-Hashes und -Symbole
Ungefähr der gleiche und der gleiche Wert
Punkte für das Refactoring (if-Anweisung)
☾ Java / Repeat-Anweisung und Repeat-Steueranweisung
Über Klassen und Instanzen (Evolution)
Über die Zupfmethode und die ID-Methode
Überlegungen zu Klassen und Instanzen
[Ruby] Problem mit der if-Anweisung
Über Java-Paket und Import
Über Ruby und Objektmodell
Informationen zu Ruby-Klassen und -Instanzen
Über Instanzvariablen und attr_ *
Erstellen eines gemischten bedingten Ausdrucks von Rails if-Anweisung und sofern nicht