# Array indices

**URL:** <https://www.ruby-forum.com/t/array-indices/96086>\
**Category:** Ruby\
**Created:** [June 25, 2006, 6:51pm UTC](https://www.ruby-forum.com/t/array-indices/96086 "2006-06-25T18:51:19Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![zanoni](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zanoni](https://www.ruby-forum.com/u/zanoni)\
**Post date:** [June 25, 2006, 6:51pm UTC](https://www.ruby-forum.com/t/array-indices/96086/1 "2006-06-25T18:51:19Z")

</div>

Is there a way to set the indice on an array,  
i.e.

Instead of:

myarray = [1,2,3,4,5]  
myarray[1] =2  
myarray[4]=5

myarray[A]=1

I know this can be done using hashes but was not sure with arrays

Stuart

---

<div class="post-metadata">

**Author:** ![zanoni](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zanoni](https://www.ruby-forum.com/u/zanoni)\
**Post date:** [June 25, 2006, 6:54pm UTC](https://www.ruby-forum.com/t/array-indices/96086/2 "2006-06-25T18:54:28Z")

</div>

On Jun 25, 2006, at 17:50, Dark A. wrote:

> I know this can be done using hashes but was not sure with arrays

Check the docs for the Array class. I know there’s a method which  
does this (several variations on it, actually), but I can’t remember  
what it’s called.

matthew smillie.

---

<div class="post-metadata">

**Author:** ![zanoni](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zanoni](https://www.ruby-forum.com/u/zanoni)\
**Post date:** [June 25, 2006, 6:57pm UTC](https://www.ruby-forum.com/t/array-indices/96086/3 "2006-06-25T18:57:45Z")

</div>

On Jun 25, 2006, at 17:50, Dark A. wrote:

> I know this can be done using hashes but was not sure with arrays

Negate that last answer - I misunderstood. Sorry.

Anyway, array indices are always integers. As long as A references  
or evaluates to an integer, no problem:

A = 3  
myarray = []  
myarray[A] = “foo”  
=\> [nil, nil, nil, “foo”]

matthew smillie.

---

<div class="post-metadata">

**Author:** ![zanoni](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/z/e99b99/32.png) [@zanoni](https://www.ruby-forum.com/u/zanoni)\
**Post date:** [June 25, 2006, 8:50pm UTC](https://www.ruby-forum.com/t/array-indices/96086/4 "2006-06-25T20:50:02Z")

</div>

On Mon, 26 Jun 2006, Dark A. wrote:

> I know this can be done using hashes but was not sure with arrays
> 
> Stuart

harp:~ \> cat a.rb

# gem install arrayfields

require ‘rubygems’  
require ‘arrayfields’

myarray = [1,2,3,4,5]  
myarray.fields = [‘A’,‘B’,‘C’,‘D’,‘E’]

p myarray[‘A’]

harp:~ \> ruby a.rb  
1

-a
