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