Sha256: 416c0f1c098bfbfbf4de4816277dd31ca8259a9cabafe98349c9cfa0f2eff60c

Contents?: true

Size: 765 Bytes

Versions: 26

Compression:

Stored size: 765 Bytes

Contents

class Array

  # Returns the middle element(s) of an array. Even-sized arrays,
  # not having an exact middle, returns a two-element array
  # of the two middle elements.
  #
  #   [1,2,3,4,5].mid        #=> 3
  #   [1,2,3,4,5,6].mid      #=> [3,4]
  #
  # In contrast to #mid which utilizes an offset.
  def middle
    if size % 2 == 0
      [ at((size/2)-1), at(size/2) ]
    else
      at(size/2)
    end
  end

end



#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCArray < Test::Unit::TestCase

    def test_middle
      a = [1,2,3,4,5]
      b = [1,2,3,4,5,6]
      assert_equal( 3, a.middle )
      assert_equal( [3,4], b.middle )
    end

  end

=end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
facets-0.9.0 lib/nano/array/middle.rb
facets-1.0.3 packages/core/lib/facet/array/middle.rb
facets-1.0.0 lib/facet/array/middle.rb
facets-1.3.0 lib/facets/core/array/middle.rb
facets-1.1.0 lib/facet/array/middle.rb
facets-1.2.0 lib/facets/core/array/middle.rb
facets-1.2.1 lib/facets/core/array/middle.rb
facets-1.3.3 lib/facets/core/array/middle.rb
facets-1.3.1 lib/facets/core/array/middle.rb
facets-1.3.2 lib/facets/core/array/middle.rb
facets-1.4.0 lib/facets/core/array/middle.rb
facets-1.4.1 lib/facets/core/array/middle.rb
facets-1.4.2 lib/facets/core/array/middle.rb
facets-1.4.3 lib/facets/core/array/middle.rb
facets-1.4.4 lib/facets/core/array/middle.rb
facets-1.4.5 lib/facets/core/array/middle.rb
facets-1.7.30 lib/facets/core/array/middle.rb
facets-1.7.0 lib/facets/core/array/middle.rb
facets-1.7.38 lib/facets/core/array/middle.rb
facets-1.7.46 lib/facets/core/array/middle.rb