rubyenumerable

How to find a min/max with Ruby


I want to use min(5,10), or Math.max(4,7). Are there functions to this effect in Ruby?


Solution

  • .min

    [5, 10].min
    

    .max

    [4, 7].max
    

    They come from the Enumerable module, so anything that includes Enumerable will have those methods available.

    v2.4 introduces own Array#min and Array#max, which are way faster than Enumerable's methods because they skip calling #each.

    .minmax

    @nicholasklick mentions another option, Enumerable#minmax, but this time returning an array of [min, max].

    [4, 5, 7, 10].minmax
    #=> [4, 10]