URLS:

   - http://raa.ruby-lang.org/project/arrayfields/
   - http://www.codeforpeople.com/lib/ruby/arrayfields/
   - http://rubyforge.org/projects/arrayfields/

SYNOPSIS:

   allow keyword access to arrays:

     require 'arrayfields'

     fields = 'name', 'age'
     row = [ 'bob', 30 ]

     row.fields = fields

     row[ 'name' ]                #=> 'bob'
     row.indices 'name', 'age'    #=> [ 'bob', 30 ]

   assigning to un-named fields appends:

     stack = []
     stack.fields = %w(zero one)
     stack['zero'] = 'zero'
     stack['one'] = 'one'
     stack                        #=> [ 'zero', 'one' ]

   useful for database work:

     relation = pgconn.query sql
     relation.size                #=> 65536

     # yikes! do we really want to re-construct a hash for for each tuple when
     # we already have Arrays?

     fields = %w(ssn name position)
     table.each{|tuple| tuple.fields = fields}

     tuples[34578]['ssn']         #=> 574865032

LIST OF OVERRIDDEN METHODS:

   - Array#[]
   - Array#[]=
   - Array#at
   - Array#delete_at
   - Array#fill
   - Array#values_at
   - Array#indices
   - Array#indexes
   - Array#slice
   - Array#slice!

LIST OF NEW Array METHODS:

   - Array#fields=
   - Array#each_with_field

DOCS/USAGE/SAMPLE:

   - lib/arrayfields.rb
   - test/arrayfields.rb

AUTHOR:

   ara.t.howard / noaa.gov

HISTORY:

   3.6.0:
     - made string/symbol keys interchangeable

         list = [0, 1, 2]

         list.fields = %w( a b c )

         p list['a'] #=> 0
         p list[:a] #=> 0


   3.5.0:
     - added more hash-like methods
       - update
       - replace
       - invert

   3.4.0:
     - added FieldedArray[] ctor
     - added methods to make Arrays with fields set behave more closely to Hashes
       - each_pair
       - each_key
       - each_value
       - fetch
       - has_key?
       - member?
       - key?
       - has_value?
       - value?
       - keys?
       - store
       - values

   3.3.0:
     - added gemspec file - thnx Assaph Mehr
     - added FieldedArray proxy class which minimizes modifications to class
       Array and allow ArrayFields to work (potientially) other arraylike object.
       thnks Sean O'Dell
     - added ArrayFields#to_hash method - this seems like an obvious one to add!
     - remedied bug where using append feature of assigning with unknow field
       appedended but did not append to acutal fields
     - added samples
     - created rubyforge accnt @ http://rubyforge.org/projects/arrayfields/

   3.2.0:
     - precedence fix in many methods - thnx. nobu
     - test for #slice! were not being run - corrected
     - added test for appeding via "a['new_field'] = 42"

   3.1.0:
     - added FieldSet class to reduce ram - thnx. Kirk Haines for profiliing
       memory and prompting this change

     - interface changed every so slightly so

         a.fields = 'a', 'b', 'c'

       is not allowed.  use

         a.fields = %w(a b c)

       or

         a.fields = ['a', 'b', 'c']


   3.0.0:
     - added unit tests

-a
-- 
to foster inner awareness, introspection, and reasoning is more efficient than
meditation and prayer.
- h.h. the 14th dali lama