Sha256: b35877796b7494bb7caa552c202cd8797aa9ca89f97a3c25ba37dc2d0b037ff5

Contents?: true

Size: 523 Bytes

Versions: 3

Compression:

Stored size: 523 Bytes

Contents

class Array

  # Split on matching pattern. Unlike #divide this does not include matching
  # elements.
  #
  # Examples
  #
  #   ['a1','a2','b1','a3','b2','a4'].split(/^b/)
  #   #=> [['a1','a2'],['a3'],['a4']]
  #
  # Returns list of split-up arrays. [Array<Array>]

  def split(pattern)
    memo = []
    sect = []
    each do |obj|
      if pattern === obj
        memo << sect
        sect = []
      else
        sect << obj
      end
    end
    memo << sect
    memo.pop while memo.last == []
    memo
  end

end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/array/split.rb
facets-3.1.0 lib/core/facets/array/split.rb
facets-3.0.0 lib/core/facets/array/split.rb