如何从Ruby数组中选择最长的字符串?

但是上面的[重复建议]是多维数组,而不是针对我在这里提出的更简单的情况。

例如,如果我有:

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

我想选择three因为它是最长的字符串。 我试过了:

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

但是Enumerable #max不会返回正确的结果。

使用Enumerable#max_by执行以下操作:

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

您还可以使用:

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