In Ruby wie finde ich den index, einer der ein array von Elementen?

In Ruby 2.4 wie finde ich die frühesten index, der ein element eines array in einem anderen array? Das heißt, wenn ein element eines Arrays erfolgt in dem anderen array, ich will den ersten index. Ich dachte find_index könnte es tun, aber

2.4.0 :004 > a = ["a", "b", "c"]
 => ["a", "b", "c"]
2.4.0 :005 > a.find_index("a")
 => 0
2.4.0 :006 > a.find_index(["b", "c"])
 => nil

In dem oben genannten Beispiel, würde ich erwarten, finden Sie in der Ausgabe "1", weil das element "b" erfolgt bei index 1 im array "a".

Sie haben a.find_index("a") zu finden, der index der "a" im ["a", "b", "c"], also warum machst du a.find_index(["b", "c"]) und nicht a.find_index("b") zu finden, der index der "b"? Die a.find_index(["b", "c"]) sucht ein element im array a, das aussieht wie ["b", "c"] die gibt es nicht. Das ist ein sub-array kein element.
Sind Sie auf der Suche nach dem ersten vorkommen von b,c nacheinander, oder einfach den ersten Eintrag im array gegeben?

InformationsquelleAutor | 2017-05-17

Schreibe einen Kommentar