Comme le dit le titre. Écrivons le code en utilisant la méthode each_with_index.
Une méthode qui peut indiquer le nombre de traitements d'un élément en même temps que l'itération de l'élément. Vous pouvez également utiliser la méthode each pour le traitement itératif des éléments, La caractéristique de la méthode each_with_index est qu'elle peut également afficher le numéro qui a été traité. Écrivez comme suit.
Nom de la séquence.each_with_index do |item, i|
#En traitement
end
fruits = ["Mandarine", "ananas", "pomme"]
fruits.each_with_index do |fruit, i|
puts "#{i}Le deuxième fruit est#{fruit}est."
end
Le résultat de sortie est le suivant.
Le 0ème fruit est la mandarine.
Le premier fruit est l'ananas.
Le deuxième fruit est une pomme.
Une méthode qui recherche une valeur dans un tableau et génère le résultat Écrivons en utilisant la méthode each_with_index. ~~ Vous pouvez utiliser la recherche binaire sans utiliser la méthode each_with_index ~~
Le tableau est
input = [3, 6, 9 ,12, 15, 21, 29, 35, 42, 51, 62, 78, 81, 87, 92, 93]
Supposons que vous vouliez attribuer la valeur que vous souhaitez rechercher à la variable target_num
.
Assurez-vous d'obtenir les résultats de recherche suivants.
#Lorsque la valeur que vous souhaitez rechercher est dans le tableau. Par exemple, si la valeur que vous souhaitez rechercher est 12.
4e à partir de la gauche
#Lorsque la valeur que vous souhaitez rechercher n'est pas dans le tableau
Ce numéro n'est pas inclus
def search(target_num, input)
input.each_with_index do |num, index|
if num == target_num
puts "À partir de la gauche#{index + 1}Est dans le second"
return
end
end
puts "Ce numéro n'est pas inclus"
end
input = [3, 6, 9 ,12, 15, 21, 29, 35, 42, 51, 62, 78, 81, 87, 92, 93]
target_num = gets.to_i
search(target_num, input)
Cette fois, la méthode qui exécute le processus de recherche est définie comme méthode de recherche.
Dans la méthode de recherche, utilisez la méthode each_with_index
Les valeurs stockées dans le tableau ʻinput sont récupérées une par une sous la forme
num` et numérotées dans l'ordre dans lequel elles ont été extraites. Ce numéro entre dans «index».
Comparez si num
et target_num
(qui contient la valeur que vous voulez rechercher) sont identiques.
S'ils sont identiques, nous voulons afficher le numéro de la valeur de gauche dans le tableau.
met" # {index + 1} ème à partir de la gauche "
.
Ensuite, les résultats de la recherche sont déjà disponibles et aucune recherche supplémentaire n'est nécessaire, alors terminez par return
.
Si toutes les valeurs stockées dans le tableau ne sont pas les mêmes que celle que vous voulez trouver
met" ce nombre n'est pas inclus "
.
c'est tout. C'est un peu hors sujet, mais c'est assez difficile d'écrire le commentaire. Merci d'avoir lu jusqu'au bout.
Recommended Posts