On May 27, 2006, at 7:36 AM, Kevin Olbrich wrote: > Here's a simple problem that seems like a good Ruby exercise. > > Given a string containing an Excel-like range specifier like this: > "C5:E8", generate an array of all the cells in the array. > > In this case, the output should be something like this.... > > ["C5", "C6", "C7", "C8", "D5", "D6", "D7", "D8", "E5", "E6", "E7", > "E8"] >> cell_range = "C5:E8" => "C5:E8" >> from, to = cell_range.split(":") => ["C5", "E8"] >> cells = (from[/[A-Z]+/]..to[/[A-Z]+/]).map do |col| ?> (from[/\d+/]..to[/\d+/]).map { |row| col + row } >> end.flatten => ["C5", "C6", "C7", "C8", "D5", "D6", "D7", "D8", "E5", "E6", "E7", "E8"] James Edward Gray II