[RUBY] Essayez d'utiliser la méthode each_with_index

Comme le dit le titre. Écrivons le code en utilisant la méthode each_with_index.

Quelle est 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

J'ai essayé de l'utiliser (1)

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.

J'ai essayé de l'utiliser (partie 2)

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

Exemple de réponse

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)

Commentaire

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 ".

fin

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

Essayez d'utiliser la méthode each_with_index
Formation à l'aide de la méthode each_with_index
Essayez d'utiliser le traçage de méthode IBM Java
Essayez d'utiliser libGDX
Essayez d'utiliser Maven
Essayez d'utiliser powermock-mockito2-2.0.2
Essayez d'utiliser GraalVM
Essayez d'utiliser jmockit 1.48
Essayez d'utiliser SwiftLint
Essayez d'utiliser Log4j 2.0
Essayez d'utiliser le Framework Axon
Essayez d'utiliser l'API REST de JobScheduler
Essayez d'utiliser la méthode java.lang.Math
Essayez d'utiliser Talend Part 2
Essayez d'utiliser Talend Part 1
Essayez d'utiliser la liste F #
Essayez d'utiliser Spring JDBC
Essayez d'utiliser RocksDB avec Java
Essayez d'utiliser GloVe avec Deeplearning4j
Essayez de gratter en utilisant Java [Note]
Essayez d'utiliser Cocoa de Ruby
Essayez d'utiliser Spring Boot Security
[Rails] Essayez d'utiliser le middleware de Faraday
[Programmation complète] §2 Essayez d'utiliser Ruby
Comparaison Java à l'aide de la méthode compareTo ()
Essayez d'utiliser Redis avec Java (jar)
Confirmer la saisie du nom à l'aide de la méthode include?
[Java] Essayez de mettre en œuvre à l'aide de génériques
Essayez d'extraire la méthode publique de java
Essayez d'utiliser le système de messagerie Pulsar
[Rails 6] détruit en utilisant la méthode des ressources
Essayez d'utiliser le SDK Java d'Hyperledger Iroha
[Java] Où avez-vous essayé d'utiliser java
Essayez d'utiliser le framework Java Nablarch [Application Web]
Essayez d'utiliser || au lieu de l'opérateur ternaire
Essayez d'utiliser l'API Stream en Java
Étude de Java Essayez d'utiliser un scanner ou une carte
Essayez d'utiliser l'API au format JSON en Java
Essayez d'utiliser MT Loader de Reladomo (chargeur de matrices multi-threads)
Essayez d'utiliser l'API REST de JobScheduler - implémentation Java RestClient--
Obtenez un message d'erreur en utilisant n'importe quelle méthode?
Essayez d'utiliser l'API Emotion d'Android
Essayez d'utiliser la télécommande Wii en Java
Essayez d'utiliser simple_form / modifier même les modèles enfants
Essayez d'implémenter un serveur GraphQL en utilisant grahpql-java-tools (+ kotlin)
Essayez de faire un rapport chronologique du temps d'exécution d'une méthode à l'aide de l'API JFR