4.11. Znajdowanie N najmniejszych elementów tablicy

Problem

W danej tablicy chcemy znaleźć kilka najmniejszych elementów, kilka największych lub kilka ekstremalnych ze względu na pewne kryterium.

Rozwiązanie

Pojedynczy, najmniejszy (według pewnego kryterium) element tablicy zwracany jest przez metodę Enumerable#min. Domyślnie wspomnianym kryterium jest wynik porównania przy użyciu operatora <=>, lecz można także określić specyficzne kryterium za pomocą odpowiedniego bloku kodowego.

[3, 5, 11, 16].min                                # => 3
["three", "five", "eleven", "sixteen"].min        # => "eleven"
["three", "five", "eleven", "sixteen"].min { |x,y| x.size <=> y.size }
# => "five"

W podobny sposób można uzyskać element maksymalny, wywołując metodę Enumerable#max:

[3, ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.