Looking for ruby Keywords? Try Ask4Keywords

Ruby Language Iteration mit Index


Beispiel

Manchmal möchten Sie die Position ( Index ) des aktuellen Elements beim Durchlaufen eines Enumerators erfahren. Zu diesem Zweck stellt Ruby die with_index Methode with_index . Es kann auf alle Enumeratoren angewendet werden. Durch Hinzufügen von with_index zu einer Enumeration können Sie diese Enumeration grundsätzlich with_index . Der Index wird als zweites Argument an einen Block übergeben.

[2,3,4].map.with_index { |e, i| puts "Element of array number #{i} => #{e}" }
#Element of array number 0 => 2
#Element of array number 1 => 3
#Element of array number 2 => 4
#=> [nil, nil, nil]

with_index hat ein optionales Argument - der erste Index ist standardmäßig 0 :

[2,3,4].map.with_index(1) { |e, i| puts "Element of array number #{i} => #{e}" }
#Element of array number 1 => 2
#Element of array number 2 => 3
#Element of array number 3 => 4
#=> [nil, nil, nil]

each_with_index gibt es eine bestimmte Methode. Der einzige Unterschied zwischen ihm und each.with_index besteht darin, dass Sie kein Argument an dieses übergeben können. each.with_index ist der erste Index immer 0 .

[2,3,4].each_with_index { |e, i| puts "Element of array number #{i} => #{e}" }
#Element of array number 0 => 2
#Element of array number 1 => 3
#Element of array number 2 => 4
#=> [2, 3, 4]