[RUBY] À propos de gets et gets.chomp

Ce n'est pas un gros problème d'écrire du code en Ruby, mais je l'ai négligé et je suis devenu accro.

Je pensais connaître la différence entre gets et gets.chomp

Je pensais que je savais que get avait un code de saut de ligne à la fin et gets.chomp n'avait pas de code de saut de ligne, mais ...

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

Ensuite, tous reviennent avec faux. Comme je l'ai écrit au début, gets a un code de saut de ligne à la fin, donc la méthode include? Recherche une correspondance avec le code de saut de ligne cat plus, donc ce sera faux.

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

Si vous entrez cat, cat1, ... et les mêmes éléments que le tableau de code ci-dessus dans l'ordre, seuls le premier et le dernier (cat et tomcat) seront renvoyés comme true. (J'étais accro à ça) Cela signifie que si la valeur entrée dans obtient dans la partie qui est retournée dans l'instruction for se termine par cat, le code de saut de ligne sera inséré à la fin, donc il correspondra. Tout ce qui ne se termine pas par un chat est reconnu comme incohérent.

répondre

Si vous définissez input = gets.chomp, le code de saut de ligne ne sera pas inclus dans la première chaîne de caractères d'entrée, de sorte que le résultat attendu sera obtenu.

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

Recommended Posts

À propos de gets et gets.chomp
Différences entre gets et gets.chomp (autres que les sauts de ligne)
À propos de Bean et DI
À propos des classes et des instances
À propos de la redirection et du transfert
À propos de l'encapsulation et de l'héritage
À propos de Serializable et serialVersionUID
À propos de l'instruction et de l'instruction if
À propos du verrouillage synchronisé et réentrant
À propos des hachages et symboles Ruby
[Java] À propos de String et StringBuilder
À peu près la même et la même valeur
À propos des classes et des instances (évolution)
À propos de la méthode Pluck et de la méthode ID
Prise en compte des classes et des instances
À propos du package Java et de l'importation
À propos de Ruby, modèle objet
À propos des classes et des instances Ruby
À propos des variables d'instance et attr_ *
À propos des méthodes Java statiques et non statiques
À propos de Biocontainers fastqc et Java
En savoir plus sur les gemmes et les bundlers
À propos des méthodes equals () et hashcode ()
[Java débutant] À propos de l'abstraction et de l'interface
À propos des guillemets simples et doubles Ruby
À propos de la phase de paramétrage et de la phase d'exécution de Gradle
À propos de l'opérateur de produit Ruby (&) et de l'opérateur somme (|)
À propos de removeAll et de retentionAll de ArrayList
À propos =
Traitement des relevés et des succursales
À propos de l'héritage orienté objet et du rendement Ruby
A propos des types primitifs et des types de référence Java
Considération sur les rails et l'architecture propre
Ceci et cela à propos de Base64 (Java)
À propos de Docker, faux serveur et conteneur
[Swift] Une note sur la fonction et la fermeture
À propos du fonctionnement de next () et nextLine ()
[À propos de JDBC qui connecte Java et SQL]
À propos de la différence entre irb et pry