Подтвердить что ты не робот

Как я могу выбрать самую длинную строку из массива Ruby?

Однако выше [duplicate suggestion] для многомерного массива, а не для более простого случая, который я здесь представляю.

Например, если у меня есть:

'one','two','three','four','five'

Я хочу выбрать three, поскольку это самая длинная строка. Я пробовал:

['one','two','three','four','five'].select{|char_num| char_num.size.max} 

но Перечислимый # max не возвращает правильный результат.

4b9b3361

Ответ 1

Просто сделайте, как показано ниже, Enumerable#max_by:

ar = ['one','two','three','four','five']
ar.max_by(&:length) # => "three"

Ответ 2

arr.map(&:length).max     -

Ответ 3

Вы также можете использовать:

['one','two','three','four','five'].inject { |f, s| f.length > s.length ? f : s }