Edit: The former versions were a little wrong and unclear concerning the version numbers
Starting with Ruby versions 1.9 and 1.8.7+, the Enumerable#max_by method is available:
@rows = arr.max_by{|a| a.length}
max_by executes the given block for each object in arr and then returns that object which has had the largest result.
In simple cases like this, where the block only consists of one method name and some variable noise, there is actually no need for an explicit block. It is possible make use of the Symbol#to_proc method and avoid the block variable altogether, making this:
@rows = arr.max_by(&:length)
Earlier versions of Ruby lack both the #to_proc and the #max_by method. Therefore, we need to explicitly give our actual comparison and use Enumerable#max.
@rows = arr.max{|c1, c2| c1.length <=> c2.length}
Thanks to all comments for clarification.