[RUBY] Über bekommt und bekommt.chomp

Es ist keine große Sache, Code in Ruby zu schreiben, aber ich habe ihn übersehen und war begeistert.

Ich dachte, ich wüsste den Unterschied zwischen get und gets.chomp

Ich dachte, ich wüsste, dass get am Ende einen Zeilenvorschubcode hat und gets.chomp keinen Zeilenvorschubcode hat, aber ...

input = gets
array=['cat','cat1','cat2','cat3','dog','tomcat']
array.each do |a|
  puts a.include?(input)
end

Dann kehren alle mit false zurück. Wie ich am Anfang geschrieben habe, hat get am Ende einen Zeilenvorschubcode, daher sucht die include? -Methode nach einer Übereinstimmung mit cat plus Zeilenvorschubcode, sodass sie falsch ist.

input = gets
array=[]
for i in 1..6 do
  array_input=gets
  array << array_input
end
array.each do |a|
  puts a.include?(input)
end

Wenn Sie cat, cat1, ... und dieselben Elemente wie das obige Code-Array der Reihe nach eingeben, werden nur das erste und das letzte (cat und tomcat) als true zurückgegeben. (Ich war süchtig danach) Dies bedeutet, dass, wenn der eingegebene Wert in dem Teil eingeht, der in der for-Anweisung gedreht wird, mit cat endet, der Zeilenvorschubcode am Ende eingefügt wird, damit er übereinstimmt. Alles, was nicht mit Katze endet, wird als inkonsistent erkannt.

Antworten

Wenn Sie input = gets.chomp setzen, wird der Zeilenvorschubcode nicht in die erste Eingabezeichenfolge aufgenommen, sodass das beabsichtigte Ergebnis erhalten wird.

input = gets.chomp
array=['cat','cat1','cat2','cat3','dog','tomcat']
array.each do |a|
  puts a.include?(input)
end

Recommended Posts

Über bekommt und bekommt.chomp
Unterschiede zwischen get und gets.chomp (außer Zeilenumbrüchen)
Über Bean und DI
Über Klassen und Instanzen
Über Weiterleiten und Weiterleiten
Über Kapselung und Vererbung
Informationen zu Serializable und serialVersionUID
Über für Anweisung und wenn Anweisung
Über synchronisierte und Wiedereintrittssperre
Über Ruby-Hashes und -Symbole
[Java] Über String und StringBuilder
Ungefähr der gleiche und der gleiche Wert
Über Klassen und Instanzen (Evolution)
Über die Zupfmethode und die ID-Methode
Überlegungen zu Klassen und Instanzen
Über Java-Paket und Import
Über Ruby und Objektmodell
Informationen zu Ruby-Klassen und -Instanzen
Über Instanzvariablen und attr_ *
Informationen zu statischen und nicht statischen Java-Methoden
Über Biocontainer fastqc und Java
Erfahren Sie mehr über Edelsteine und Bündler
Informationen zu den Methoden equals () und hashcode ()
[Java-Anfänger] Über Abstraktion und Schnittstelle
Über Ruby einfache Anführungszeichen und doppelte Anführungszeichen
Informationen zur Einstellungsphase und Ausführungsphase von Gradle
Informationen zum Ruby-Produktoperator (&) und zum Summenoperator (|)
Informationen zu removeAll und RetainAll von ArrayList
Über =
If-Anweisung und Verzweigungsverarbeitung
Über objektorientierte Vererbung und über Ertrag Ruby
Informationen zu primitiven Java-Typen und Referenztypen
Überlegungen zu Schienen und sauberer Architektur
Dies und das über Base64 (Java)
Über Docker, gefälschten Server und Container
[Swift] Ein Hinweis zu Funktion und Schließung
Informationen zur Funktionsweise von next () und nextLine ()
[Über JDBC, das Java und SQL verbindet]
Über den Unterschied zwischen irb und pry