Sha256: 003bdffba400b93044dca892accba7f0ef2e25313a9fbd366cdd844e550ba3e3
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
class Array # Inverse of #delete_if. # # [1,2,3].delete_unless{ |x| x < 2 } # => [1,2] # # CREDIT: Daniel Schierbeck def delete_unless(&block) delete_if { |element| not block.call(element) } end # Delete multiple values from array. # # a = [1,2,3,4] # a.delete_values(1,2) #=> [1,2] # a #=> [3,4] # # CREDIT: Trans def delete_values(*values) d = [] values.each{ |v| d << delete(v) } d end # Delete multiple values from array given # indexes or index range. # # a = [1,2,3,4] # a.delete_values_at(1,2) #=> [2,3] # a #=> [1,4] # a = [1,2,3,4] # a.delete_values_at(0..2) #=> [1,2,3] # a #=> [4] # # CREDIT: Trans def delete_values_at(*selectors) idx = [] selectors.each{ |i| case i when Range idx.concat( i.to_a ) else idx << i.to_i end } idx.uniq! dvals = values_at(*idx) idx = (0...size).to_a - idx self.replace( values_at(*idx) ) return dvals end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
facets-2.2.0 | lib/core/facets/array/delete.rb |
facets-2.2.1 | lib/core/facets/array/delete.rb |
facets-2.3.0 | lib/core/facets/array/delete.rb |