Augmented_array is a project mainly written in ..., it's free.
The Ruby Array class is extended with some traversing and other useful methods
Niranjan Sarade
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.
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.eachindex { |index| eval("p ary.#{index}") }
ary.eachindex { |index|
eval("ary.#{index} = 10")
}
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
gem uninstall augmented_array