Looking for ruby Keywords? Try Ask4Keywords

Ruby Language Iteratie met index


Voorbeeld

Soms wilt u de positie ( index ) van het huidige element weten terwijl u over een teller loopt. Voor dat doel biedt Ruby de methode with_index . Het kan worden toegepast op alle tellers. Kortom, door with_index te voegen aan een opsomming, kunt u die opsomming opsommen. Index wordt als tweede argument aan een blok doorgegeven.

[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 heeft een optioneel argument - de eerste index die standaard 0 is:

[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]

Er is een specifieke methode each_with_index . Het enige verschil tussen het en each.with_index is dat je daar geen argument aan kunt doorgeven, dus de eerste index is altijd 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]