"Hal E. Fulton" wrote:

>   strings.each_with_index do |s,i|
>     strings[i] = "pre." + s if s[0] != ?a
>   end
> 
> The above works, but seems ugly.

strings.select { |s| s[0]!=?a }.each { |s| s[/^/] = "pre." }

Of course, this destructively modifies the strings, which your code
doesn't do... So this suggestion isn't really about iterators, but about
a way to do << at the beginning of a string.

--
Joel VanderWerf                          California PATH, UC Berkeley
mailto:vjoel / path.berkeley.edu                     Ph. (510) 231-9446
http://www.path.berkeley.edu                       FAX (510) 231-9512