[RUBY] Versuchen Sie es mit der Methode each_with_index

Wie der Titel schon sagt. Schreiben wir den Code mit der Methode each_with_index.

Was ist die Methode each_with_index?

Eine Methode, die die Anzahl der Verarbeitungen eines Elements gleichzeitig mit der Iteration des Elements angeben kann. Sie können jede Methode auch für die iterative Verarbeitung von Elementen verwenden. Die Methode each_with_index besteht darin, dass auch angezeigt werden kann, welche Nummer verarbeitet wurde. Schreiben Sie wie folgt.

Sequenzname.each_with_index do |item, i|
  #wird bearbeitet
end

Ich habe es versucht (1)

fruits = ["Mandarine", "Ananas", "Apfel"]

fruits.each_with_index do |fruit, i|
 puts "#{i}Die zweite Frucht ist#{fruit}ist."
end

Das Ausgabeergebnis ist wie folgt.

Die 0. Frucht ist Mandarine.
Die erste Frucht ist Ananas.
Die zweite Frucht ist ein Apfel.

Ich habe es versucht (Teil 2)

Eine Methode, die sucht, ob ein Array einen bestimmten Wert enthält, und das Ergebnis ausgibt Schreiben wir mit der Methode each_with_index. ~~ Sie können die binäre Suche verwenden, ohne die Methode each_with_index zu verwenden ~~

Das Array ist input = [3, 6, 9 ,12, 15, 21, 29, 35, 42, 51, 62, 78, 81, 87, 92, 93] Angenommen, Sie möchten den Wert, nach dem Sie suchen möchten, der Variablen target_num zuweisen. Stellen Sie sicher, dass Sie die folgenden Suchergebnisse erhalten.

#Wenn sich der Wert, den Sie suchen möchten, im Array befindet. Wenn der Wert, nach dem Sie suchen möchten, beispielsweise 12 ist.
4. von links

#Wenn der Wert, den Sie suchen möchten, nicht im Array enthalten ist
Diese Nummer ist nicht enthalten

Antwortbeispiel

def search(target_num, input)
  input.each_with_index do |num, index|
    if num == target_num
      puts "Von links#{index + 1}Ist in der zweiten"
      return
    end
  end
  puts "Diese Nummer ist nicht enthalten"
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)

Kommentar

Dieses Mal wird die Methode, die den Suchvorgang ausführt, als Suchmethode definiert.

Verwenden Sie in der Suchmethode die Methode each_with_index Die im Array "input" gespeicherten Werte werden einzeln als "num" abgerufen und in der Reihenfolge nummeriert, in der sie abgerufen wurden. Diese Nummer geht in den Index.

Vergleichen Sie, ob num und target_num (die den Wert enthalten, nach dem Sie suchen möchten) identisch sind. Wenn sie gleich sind, möchten wir die Nummer des Werts von links im Array ausgeben. setzt" # {index + 1} th von links ". Und da die Suchergebnisse bereits verfügbar sind und keine weiteren Suchvorgänge erforderlich sind, beenden Sie mit "return".

Wenn nicht alle im Array gespeicherten Werte mit denen übereinstimmen, die Sie suchen möchten setzt" diese Nummer ist nicht enthalten ".

Ende

das ist alles. Es ist ein wenig vom Thema entfernt, aber es ist ziemlich schwierig, den Kommentar zu schreiben. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Versuchen Sie es mit der Methode each_with_index
Training mit der Methode each_with_index
Versuchen Sie es mit der IBM Java-Methodenverfolgung
Versuchen Sie es mit libGDX
Versuchen Sie es mit Maven
Versuchen Sie es mit powermock-mockito2-2.0.2
Versuchen Sie es mit GraalVM
Versuchen Sie es mit jmockit 1.48
Versuchen Sie es mit SwiftLint
Versuchen Sie es mit Log4j 2.0
Versuchen Sie es mit dem Axon Framework
Versuchen Sie es mit der REST-API von JobScheduler
Versuchen Sie es mit der Methode java.lang.Math
Versuchen Sie es mit Talend Teil 2
Versuchen Sie es mit Talend Teil 1
Versuchen Sie es mit der F # -Liste
Versuchen Sie es mit Spring JDBC
Versuchen Sie es mit RocksDB mit Java
Versuchen Sie es mit GloVe mit Deeplearning4j
Versuchen Sie, mit Java zu kratzen [Hinweis]
Versuchen Sie es mit Cocoa von Ruby
Versuchen Sie es mit Spring Boot Security
[Rails] Versuchen Sie, Faradays Middleware zu verwenden
[Vollständige Programmierung] §2 Versuchen Sie es mit Ruby
Java-Vergleich mit der compareTo () -Methode
Versuchen Sie es mit Redis mit Java (jar)
Bestätigen Sie die Namenseingabe mit der include? -Methode
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
Versuchen Sie, die öffentliche Java-Methode zu extrahieren
Versuchen Sie es mit dem Nachrichtensystem Pulsar
[Schienen 6] zerstören mit der Ressourcenmethode
Versuchen Sie es mit dem Java SDK von Hyperledger Iroha
[Java] Wo haben Sie versucht, Java zu verwenden?
Versuchen Sie es mit dem Java Framework Nablarch [Web Application]
Versuchen Sie, || anstelle des ternären Operators zu verwenden
Versuchen Sie es mit der Stream-API in Java
Java lernen Versuchen Sie es mit einem Scanner oder einer Karte
Versuchen Sie es mit der JSON-Format-API in Java
Versuchen Sie es mit Reladomos MT Loader (Multi-Threaded Matcher Loader).
Versuchen Sie es mit der REST-API von JobScheduler - Java RestClient-Implementierung -
Erhalten Sie eine Fehlermeldung mit einer beliebigen Methode
Versuchen Sie es mit der Emotion API von Android
Versuchen Sie es mit der Wii-Fernbedienung in Java
Versuchen Sie es mit simple_form / edit sogar untergeordneten Modellen
Versuchen Sie, einen GraphQL-Server mit grahpql-java-tools (+ kotlin) zu implementieren.
Versuchen Sie, mithilfe der JFR-API einen Zeitleistenbericht über die Ausführungszeit einer Methode zu erstellen