[RUBY] Dinge, die in bedingten Ausdrücken zu beachten sind

【Überblick】

1. Schlussfolgerung </ b>

2. Spezifisches Beispiel </ b>

  1. Fazit

Es wird von oben gelesen, achten Sie also auf die Reihenfolge, in der Sie schreiben! </ b>

  1. Spezifisches Beispiel

Betrachten wir zum Beispiel den Fall des Schreibens eines Programms, das basierend auf den folgenden drei Bedingungen ausgegeben wird.

❶ Wenn es 20 oder weniger ist, geben Sie "20 oder weniger" aus. ❷ Wenn die Zahl größer als 20 ist, geben Sie "Zahl größer als 20" aus. ❸ Wenn es 20 oder weniger und 0 oder weniger ist, wird es als "0 oder weniger Zahl" ausgegeben.

In diesem Fall wird die folgende Beschreibung gegeben.

int = gets.to_i

if int <= 20
  puts "Zahlen unter 20" #❶
elsif int <= 0
  puts "Zahlen unter 0" #❷
else
  puts "Zahlen größer als 20" #❸
end

In diesem Fall, wenn Sie "-1" in int schreiben, ❶

if int <= 20
  puts "Zahlen unter 20"

Reagiert und die Ausgabe von ❷, die ich ursprünglich ausgeben wollte, wird nicht ausgegeben. Dies liegt daran, dass die Programme in der Reihenfolge von oben nach unten geladen werden. (Es gibt Ausnahmen wie def, das später gelesen wird, und Javascript-Funktionsdeklarationen, die zuerst gelesen werden.)

Ändern Sie also die Reihenfolge von ❶ und ❷

int = gets.to_i

if int <= 0
  puts "Zahlen unter 0" #❶
elsif int <= 20
  puts "Zahlen unter 20"  #❷
else
  puts "Zahlen größer als 20" #❸
end

Dann wird es ein Programm sein, das die ursprüngliche Absicht erfasst.

Recommended Posts