Есть ли более простой способ, чем нижний, найти самый длинный элемент в массиве?Самый длинный элемент в массиве
arr = [
[0,1,2],
[0,1,2,3],
[0,1,2,3,4],
[0,1,2,3]
]
longest_row = []
@rows.each { |row| longest_row = row if row.length > longest_row.length }
p longest_row # => [0,1,2,3,4]
И, конечно же, с Ruby 1.8.7+, 1.9 или ActiveSupport это будет просто 'arr.max_by (&: length)'. –
На самом деле, я просто понял, что 'Enumerable # max_by' в любом случае не существует в 1.8.6. –
В 1.8.6 вы можете сделать 'arr.max {| a, b | a.length <=> b.length} '. –