[RUBY] Formation à l'aide de la méthode each_with_index

Utilisez la méthode each_with_index pour trouver l'élément que vous voulez trouver dans le tableau, Créons une méthode pour trouver le numéro de l'élément.

Cherchons le nombre dans le tableau suivant et créons une méthode de recherche qui montre le résultat du nombre inclus.

input = [3, 5, 9, 12, 15, 21, 29, 35, 42, 51, 62, 78, 81, 87, 92, 93]

Dans la méthode de recherche Vérifiez si un certain nombre est inclus dans ce tableau d'entrée S'il est inclus → Sortez le nombre d'éléments. S'il n'est pas inclus → Il n'est pas inclus. Est sortie. Il est possible qu'une telle description soit nécessaire.

Tout d'abord, pour savoir de quel élément numérique il s'agit s'il contient le nombre que vous souhaitez rechercher Vous devez utiliser la méthode each_with_index.

each_with_index Chaque méthode ne peut récupérer qu'un élément d'un tableau, pas le numéro de cet élément. Cependant, avec la méthode each_with_index, vous pouvez extraire l '"élément du tableau" et le "nombre d'élément" en tant que variables de bloc.

Exemple de description

input.each_with_index do |item, i|
~
end

item est un élément inclus dans le tableau d'entrée, et dans le tableau d'entrée, c'est la valeur elle-même de 3,5,9,12 ... 93. i est le numéro de l'élément (indice) et prend des valeurs jusqu'à 0,1,2,3, ... 15 dans l'ordre à partir de la gauche dans le tableau d'entrée. Puisqu'il s'agit de chaque méthode, elle sera répétée jusqu'à la fin des éléments du tableau. Par exemple

example = [3, 5, 9, 12]
example.each_with_index do |item, i|
  puts "#{item}Est#{i}Le deuxième numéro."
end

Lorsque vous sortez avec ceci,

3 est le 0ème nombre.
5 est le premier nombre.
8 est le deuxième nombre.
12 est le troisième nombre.

Est sortie. Il s'avère que la méthode each_with_index se répète jusqu'au dernier élément du tableau, et l'élément (item) et l'élément number (i) peuvent être récupérés ensemble.

Maintenant, en utilisant la méthode each_with_index, écrivez une méthode pour trouver la valeur que vous voulez trouver et le nombre dans lequel cette valeur est incluse. En tant que procédure input.each_with_Bloc variable avec index|item, i|Sortir. Écrivez une expression conditionnelle pour voir si la valeur extraite correspond à la valeur que vous recherchez. Lorsque les conditions sont remplies → Afficher le numéro de l'élément. Lorsque les conditions ne sont pas remplies → Afficher que le numéro n'est pas inclus.

def search(target_num, input)
  input.each_with_index do |num, index|
    if num == target_num
      puts "#{num}Est#{index + 1}Le deuxième numéro."
      return
    end
    puts "Ce nombre n'est pas inclus."
   end
  end
end
input = [3, 5, 9, 12, 15, 21, 29, 35, 42, 51, 62, 78, 81, 87, 92, 93]
search(42, input)

Spécifiez target_num et entrez comme arguments de la méthode appelée search. target_num est le nombre que vous souhaitez rechercher et l'entrée est le tableau que vous recherchez. input.each_with_index do |num, index| Dans la partie de, l'élément num et le numéro de l'élément (index) sont extraits du tableau d'entrée jusqu'à la dernière valeur du tableau. if num == target_num Ici, j'écris une expression conditionnelle pour voir si l'élément (nombre) du tableau correspond au nombre que vous voulez trouver (cette fois, vérifiez 42 à la fin). S'il y a une correspondance, le nombre et le nombre d'éléments que vous souhaitez trouver dans la méthode put sont affichés. Achevée!

Je me demandais lors de la création. Dois-je écrire une description qui s'affiche si elle est incluse dans if, et une description qui l'affiche si elle n'est pas incluse dans else? Je pensais avoir fait la description suivante.

def search(target_num, input)
  input.each_with_index do |num, index|
    if num == target_num
      puts "#{num}Est#{index + 1}Le deuxième numéro."
    else
    puts "Ce nombre n'est pas inclus."
    end
  end
end

Affichons le résultat dans ce cas.

input = [3, 5, 9, 12]

Si vous le mettez

search(9, input)

Quand

Ce nombre n'est pas inclus.
Ce nombre n'est pas inclus.
9 est le troisième nombre.
Ce nombre n'est pas inclus.

Il sera affiché comme ceci, et tous les résultats seront affichés. En d'autres termes, plus il y a d'éléments dans un tableau, plus les résultats sont inutiles. Il n'est complété que par le traitement lorsqu'il y est inclus.

   if num == target_num
      puts "#{num}Est#{index + 1}Le deuxième numéro."
      return
   end

Même s'il est inclus, le processus s'arrête là parce que le retour est décrit, de sorte que le processus «le nombre n'est pas inclus» peut être sorti sans être lu.

Recommended Posts

Formation à l'aide de la méthode each_with_index
Essayez d'utiliser la méthode each_with_index
Comparaison Java à l'aide de la méthode compareTo ()
Confirmer la saisie du nom à l'aide de la méthode include?
[Rails 6] détruit en utilisant la méthode des ressources
Essayez d'utiliser le traçage de méthode IBM Java
Formation des nouveaux arrivants à l'aide de la programmation Web-Basic à l'aide de Java-
Obtenez un message d'erreur en utilisant n'importe quelle méthode?