> > M> k=0; ("A".."k").each{|x|k+=1}; k > > M> I expected 11, I got 26. Why is that? > > why 11 ? > > You have 11 with ("A".."K") > > Oops, nearly a brain fart. That's not 11 I wanted to write, it's 37, that > is, 11+26. Precisely, like 'A'..'Z' followed by 'a'..'k'. > > Now that I think of it, I understand why it gives "A".."Z", and why it > makes sense to. I'm only *really* awake starting with the end of the > afternoon :-) Thanks to Mark for explaining that ? makes it a character. The reason it's 43 instead of 37 is because there are 6 characters between uppercase and lowercase: k=0; (?A..?k).each{|x| print "#{x.chr} "; k+=1}; => ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijk regards, -joe