Looking for ruby Keywords? Try Ask4Keywords

Ruby Language Iteration med index


Exempel

Ibland vill du veta positionen ( indexet ) för det aktuella elementet medan du itererar över en teller. För sådana ändamål tillhandahåller Ruby with_index metoden. Det kan tillämpas på alla uppräknare. I grund och botten, genom att lägga till with_index till en uppräkning, kan du räkna upp den uppräkningen. Index skickas till ett block som det andra argumentet.

[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 har ett valfritt argument - det första indexet som är 0 standard:

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

Det finns en specifik metod each_with_index . Den enda skillnaden mellan den och each.with_index är att du inte kan skicka ett argument till det, så det första indexet är 0 hela tiden.

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