From: Mike Austin Date: 2006-03-21T04:38:50+09:00 Subject: Re: iterate chars in a string "I am puzzled".each_byte { |b| puts b.chr } I'm surprised that not many people knew about 'each_byte()'. Maybe it's a problem with Ruby docs? Or maybe it is just counter-intuitive - I would expect each() iterate over bytes, and provide each_lines() to iterate over lines instead. Mike http://www.rubycentral.com/ref/ Robert Dober wrote: > Hello World > > "I am puzzled".each_byte do |b| puts "%c" % b ;end > > > > Cheers > Robert > > > On 3/20/06, James Edward Gray II wrote: >> On Mar 20, 2006, at 3:38 AM, Robert Klemme wrote: >> >>> Kev Jackson wrote: >>>> Robert Klemme wrote: >>>>> Lyndon Samson wrote: >>>>> >>>>>> a="123" >>>>>> >>>>>> 0.upto(a.length) { |i| puts a[i..i] } >>>>> >>>>> Alternatively: >>>>> >>>>> a.length.times {|i| puts a[i].chr} >>>>> >>>>> Many roads to Rome... >>>>> >>>>> robert >>>>> >>>> or even >>>> a.scan(/./) { |c| p c } >>> We had that already: your version ignores newlines. :-) >>>> require "jcode" >> => true >>>> "Hello\nWorld!".each_char { |chr| p chr } >> "H" >> "e" >> "l" >> "l" >> "o" >> "\n" >> "W" >> "o" >> "r" >> "l" >> "d" >> "!" >> => "Hello\nWorld!" >> >> James Edward Gray II