0.0
No commit activity in last 3 years
No release in over 3 years
The Ruby Array class is extended with some traversing methods and you will also be able to get and set the individual array elements with indexes as of the indexes were attributes of an array.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme
Author:
====
Niranjan Sarade

About Augmented Array:
====
The Ruby Array class is extended with some traversing/iterating methods and you will also be able to get
and set the individual array elements with indexes as of the indexes were attributes of an array.

Example:
====
require 'augmented_array'

[nil,1,2,nil,3].nilitems   # =>  2

[1,2,3,4,5].sum     # => 15

[1,2,3,4,5,6]/1      # => [[1], [2], [3], [4], [5], [6]]
[1,2,3,4,5,6]/2      # => [[1, 2], [3, 4], [5, 6]]
[1,2,3,4,5,6]/8      # => [[1, 2, 3, 4, 5, 6]]
[]/2                 # => []

[1,2,3,4,5].middle      # => 3
[1,2,3,4].middle        # => [2, 3]
[1].middle              # => 1

ary = [1,2,3]
ary.first = 20
ary.first       # => 20

[1,1.0,"test",{:key => "value"}].describe   # =>  [{1=>"Fixnum"}, {1.0=>"Float"}, {"test"=>"String"}, {{:key=>"value"}=>"Hash"}]

ary = [1,2,3]
ary.last = 20
ary.last       # => 20

[1,2,3,4,5].second_last      # => 4
[1].second_last              # => nil

ary = [1,2,3,4,5]
ary.alternate           # => [[1, 3, 5], [2, 4]]
ary                     # => [1,2,3,4,5]

ary = [1,2,3,4,5]
ary.alternate!           # => [[1, 3, 5], [2, 4]]
ary                      # => [[1, 3, 5], [2, 4]]

ary = [1,2,3,4,5,6,7]
ary.second = 20
ary.third = 30
ary.fourth = 40
ary.fifth = 50
ary                   # => [1, 20, 30, 40, 50]
ary.second            # => 20
ary.third             # => 30
ary._0 = 25
ary._0                # => 25 # Similar to ary.at(0) or ary.fetch(0)
ary._1 = 10
ary._1                # => 10
ary._11 = 11
ary                   # => [25, 10, 30, 40, 50, nil, nil, nil, nil, nil, nil, 11]

ary.each_index { |index|
    eval("p ary._#{index}")
  }
  
ary.each_index { |index|
    eval("ary._#{index} = 10")  
  }

Install:
====
gem install augmented_array

(It has been pushed to http://gemcutter.org)

OR

Download the gem file from http://github.com/NiranjanSarade/augmented_array/
gem install augmented_array-0.0.1.gem

Uninstall:
====
gem uninstall augmented_array