Inserting a counter into a .each loop


#1

I’ve got a loop that iterates through a string like so:

string.each_byte do |f|

…do something with f.chr

end

I would like to use a counter variable in this loop. I know I can add
‘.with_index’ but I need more control than that. I need a counter
variable in
this loop with state I can set when some condition is met and that will
persist through each iteration.
Does anyone know if this is possible? Thank you.


#2

string = “hello world”
x = 0
string.each_byte do |c|
x+=1
end
puts x


#3

Tim H. wrote:

What’s wrong with

x = 0
string.each_byte do |f|
x += 1
end

Clearly my method is better here Tim.


#4

Brian B. wrote:

variable in
this loop with state I can set when some condition is met and that will
persist through each iteration.
Does anyone know if this is possible? Thank you.

What’s wrong with

x = 0
string.each_byte do |f|
x += 1
end


#5

Mk 27 wrote:

Maybe somebody should do a benchmark. :slight_smile: