# Can You Store Individual Letters?

**URL:** <https://www.ruby-forum.com/t/can-you-store-individual-letters/174983>\
**Category:** Ruby\
**Created:** [September 5, 2009, 7:36am UTC](https://www.ruby-forum.com/t/can-you-store-individual-letters/174983 "2009-09-05T07:36:13Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ss\_1982](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@ss\_1982](https://www.ruby-forum.com/u/ss_1982)\
**Post date:** [September 5, 2009, 7:36am UTC](https://www.ruby-forum.com/t/can-you-store-individual-letters/174983/1 "2009-09-05T07:36:13Z")

</div>

I was wandering if it is possible to have user inputted words stored and  
each letter as a seperate variable. I know i could just have each letter  
inputted indvidually but thats time consuming on the users part. Here’s  
an example in case you don’t know what i mean:  
Ex.  
USER: Tomato  
COMP: Type a number to have a letter displayed  
USER: 2  
COMP: o  
USER: 5  
COMP: t

This is not the type of program I am looking to make, it’s just an  
example.

Thanks,  
Scott

---

<div class="post-metadata">

**Author:** ![ss\_1982](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@ss\_1982](https://www.ruby-forum.com/u/ss_1982)\
**Post date:** [September 5, 2009, 7:40am UTC](https://www.ruby-forum.com/t/can-you-store-individual-letters/174983/2 "2009-09-05T07:40:31Z")

</div>

str = “Tomato”  
num = 2

puts str[num-1, 1]

---

<div class="post-metadata">

**Author:** ![ss\_1982](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@ss\_1982](https://www.ruby-forum.com/u/ss_1982)\
**Post date:** [September 5, 2009, 1:43pm UTC](https://www.ruby-forum.com/t/can-you-store-individual-letters/174983/3 "2009-09-05T13:43:35Z")

</div>

Scott Andrechek wrote:

> COMP: t  
> Check out String#split

irb(main):005:0\> x = “tomato”  
=\> “tomato”  
irb(main):006:0\> y = x.split ‘’  
=\> [“t”, “o”, “m”, “a”, “t”, “o”]  
irb(main):007:0\> y[0]  
=\> “t”  
irb(main):008:0\> y[5]  
=\> “o”

---

<div class="post-metadata">

**Author:** ![ss\_1982](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/96bed5/32.png) [@ss\_1982](https://www.ruby-forum.com/u/ss_1982)\
**Post date:** [September 6, 2009, 8:01pm UTC](https://www.ruby-forum.com/t/can-you-store-individual-letters/174983/4 "2009-09-06T20:01:52Z")

</div>

On Sep 5, 2009, at 7:37 AM, Tim H. wrote:

> > COMP: Type a number to have a letter displayed  
> > =\> [“t”, “o”, “m”, “a”, “t”, “o”]  
> > irb(main):007:0\> y[0]  
> > =\> “t”  
> > irb(main):008:0\> y[5]  
> > =\> “o”
> 
> –  
> MagickWand for Ruby - [http://magickwand.rubyforge.org/](http://magickwand.rubyforge.org/)

And if you unshift a value (like nil) into the first element, then you  
can use 1-based positions:

irb\> word = “Tomato”.split(‘’)  
=\> [“T”, “o”, “m”, “a”, “t”, “o”]  
irb\> word.unshift nil  
=\> [nil, “T”, “o”, “m”, “a”, “t”, “o”]  
irb\> word[2]  
=\> “o”  
irb\> word[5]  
=\> “t”

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid
