Dans Ruby 2.4, comment trouver l'index le plus tôt d'un élément d'un tableau dans un autre tableau? C'est-à-dire, si un élément d'un tableau se produit dans l'autre tableau, je veux obtenir le premier index. Je pensais que find_index pourrait le faire, maisDans Ruby, comment trouver l'index d'un tableau d'éléments?
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
Dans l'exemple ci-dessus, j'attendre à la sortie « 1 » parce que l'élément « b » se produit à l'index 1 dans le tableau « a ».
Vous avez 'a.find_index ("a")' trouver l'indice de ' "un"' 'dans [ "a", "b", "c" ] ', alors pourquoi faites-vous' a.find_index (["b", "c"]) 'et non' a.find_index ("b") 'pour trouver l'index de' "b" '? Le 'a.find_index ([" b "," c "])' cherche un élément dans le tableau 'a' qui ressemble à' ["b", "c"] 'qui n'est pas là. C'est un sous-tableau, pas un élément. – lurker
Essayez-vous de trouver la première occurrence de 'b, c' séquentiellement, ou simplement la première entrée dans le tableau donné? – tadman