Forum: Ruby Inserting a counter into a .each loop

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
B67a6c91e67bb17e810b42a993cb3193?d=identicon&s=25 Brian Bush (bbgun)
on 2009-05-24 20:42
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.
68814ed988eee4f21b2cd07353e5e445?d=identicon&s=25 Mk 27 (mk27)
on 2009-05-24 20:56
string = "hello world"
x = 0
string.each_byte do |c|
        x+=1
end
puts x
3afd3e5e05dc9310c89aa5762cc8dd1d?d=identicon&s=25 Tim Hunter (Guest)
on 2009-05-24 21:04
(Received via mailing list)
Brian Bush 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
68814ed988eee4f21b2cd07353e5e445?d=identicon&s=25 Mk 27 (mk27)
on 2009-05-24 22:47
Tim Hunter wrote:

> What's wrong with
>
> x = 0
> string.each_byte do |f|
>     x += 1
> end

Clearly my method is better here Tim.
3afd3e5e05dc9310c89aa5762cc8dd1d?d=identicon&s=25 Tim Hunter (Guest)
on 2009-05-25 00:34
(Received via mailing list)
Mk 27 wrote:
>
Maybe somebody should do a benchmark. :-)
This topic is locked and can not be replied to.