Der obige [doppelte Vorschlag] bezieht sich jedoch auf ein mehrdimensionales Array und nicht auf den einfacheren Fall, den ich hier vorstelle.
Zum Beispiel wenn ich habe:
'one','two','three','four','five'
Ich möchte three
auswählen, da dies die längste Zeichenfolge ist. Ich habe es versucht:
['one','two','three','four','five'].select{|char_num| char_num.size.max}
aber Enumerable # max gibt nicht das richtige Ergebnis zurück.
Führen Sie einfach die folgenden Schritte aus, indem Sie Enumerable#max_by
verwenden:
ar = ['one','two','three','four','five']
ar.max_by(&:length) # => "three"
arr.map(&:length).max -
Sie können auch verwenden:
['one','two','three','four','five'].inject { |f, s| f.length > s.length ? f : s }