Sha256: 8c8ff28579c62558eb9fb2515ab2a1e43ac0333a6719517192f4600b4d6c56e5

Contents?: true

Size: 437 Bytes

Versions: 10

Compression:

Stored size: 437 Bytes

Contents

module Enumerable
  def [](*args)
    arr = self.to_a
    r = []    
    args.each{ |arg|
      case arg
      when Proc
        r.concat arr.find_all &arg
      when Range
        r.concat arr[arg]
      when Numeric
        r << arr[arg]
      else
        raise ArgumentError, "Invalid enumeration"
        #super if defined? super
      end
    }
    r
  end
end


# --- test ---

if $0 == __FILE__

  p ("a".."z")[2,5,3..4]
  
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
facets-0.6.3 lib/facet-dev/enumerable/[].rb
facets-1.4.1 forge/core/enumerable/op_fetch.rb
facets-1.4.2 forge/core/enumerable/op_fetch.rb
facets-1.4.3 forge/core/enumerable/op_fetch.rb
facets-1.4.5 snip/core/enumerable/op_fetch.rb
facets-1.4.4 forge/core/enumerable/op_fetch.rb
facets-1.8.0 work/core/enumerable/op_fetch.rb
facets-1.8.20 work/core/enumerable/op_fetch.rb
facets-1.8.49 work/core/enumerable/op_fetch.rb
facets-1.8.8 work/core/enumerable/op_fetch.rb