Sha256: d82bbfc129e0397fece94da265266fa4ff73905c66f6bf5f89539f2ba0554b20

Contents?: true

Size: 937 Bytes

Versions: 67

Compression:

Stored size: 937 Bytes

Contents

# http://snippets.dzone.com/posts/show/5119
class Array
  def map_with_index!
    each_with_index do |e, idx| self[idx] = yield(e, idx); end
  end

  def map_with_index(&block)
    dup.map_with_index!(&block)
  end
end

# TODO move this to cursor <-> use cursor for calculations
class Array
  def between?(a,b)
    self.>= a and self.<= b
  end

  def <(other)
    (self.<=>other) == -1
  end

  def <=(other)
    self.<(other) or self.==other
  end

  def >(other)
    (self.<=>other) == 1
  end

  def >=(other)
    self.>(other) or self.==other
  end
end

# http://madeofcode.com/posts/74-ruby-core-extension-array-sum
class Array
  def sum(method = nil, &block)
    if block_given?
      raise ArgumentError, "You cannot pass a block and a method!" if method
      inject(0) { |sum, i| sum + yield(i) }
    elsif method
      inject(0) { |sum, i| sum + i.send(method) }
    else
      inject(0) { |sum, i| sum + i }
    end
  end
end

Version data entries

67 entries across 67 versions & 1 rubygems

Version Path
ruco-0.4.0 lib/ruco/core_ext/array.rb
ruco-0.3.0 lib/ruco/core_ext/array.rb
ruco-0.2.23 lib/ruco/core_ext/array.rb
ruco-0.2.22 lib/ruco/core_ext/array.rb
ruco-0.2.21 lib/ruco/core_ext/array.rb
ruco-0.2.20 lib/ruco/core_ext/array.rb
ruco-0.2.19 lib/ruco/core_ext/array.rb
ruco-0.2.18 lib/ruco/core_ext/array.rb
ruco-0.2.17 lib/ruco/core_ext/array.rb
ruco-0.2.16 lib/ruco/core_ext/array.rb
ruco-0.2.15 lib/ruco/core_ext/array.rb
ruco-0.2.14 lib/ruco/core_ext/array.rb
ruco-0.2.13 lib/ruco/core_ext/array.rb
ruco-0.2.12 lib/ruco/core_ext/array.rb
ruco-0.2.11 lib/ruco/core_ext/array.rb
ruco-0.2.10 lib/ruco/core_ext/array.rb
ruco-0.2.9 lib/ruco/core_ext/array.rb
ruco-0.2.8 lib/ruco/core_ext/array.rb
ruco-0.2.7 lib/ruco/core_ext/array.rb
ruco-0.2.6 lib/ruco/core_ext/array.rb