Sha256: ee6bd9032b1e3e54d23fe86a3fc1797fc886e0cb57182f3251f47bb40c487d5c
Contents?: true
Size: 852 Bytes
Versions: 1
Compression:
Stored size: 852 Bytes
Contents
require 'nano/array/store' class Array # Modifies #[]= to accept an array of indexes for assignment. # # a = ['a','b','c','d'] # # a[[1,-1]] = ['m','n'] #=> ['m','n'] # a #=> ['a','m','c','n'] # def []=(*args) if Array === args.at(0) idx,vals = args.at(0),args.at(1) idx.each_with_index{ |a,i| store(a,vals.at(i)) } return values_at( *idx ) else return store(*args) end end end # _____ _ # |_ _|__ ___| |_ # | |/ _ \/ __| __| # | | __/\__ \ |_ # |_|\___||___/\__| # =begin test require 'test/unit' class TCArray < Test::Unit::TestCase def test_op_stroe a = ['a','o','z'] a[[0,2]] = ['A','Z'] assert_equal( ['A','o','Z'], a ) a[[0,-1]] = ['W','Y'] assert_equal( ['W','o','Y'], a ) end end =end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
facets-0.9.0 | lib/nano/array/op_store.rb |