# Nicer way to convert array of int to array of string

**URL:** <https://www.ruby-forum.com/t/nicer-way-to-convert-array-of-int-to-array-of-string/85073>\
**Category:** Ruby\
**Created:** [February 9, 2007, 9:03pm UTC](https://www.ruby-forum.com/t/nicer-way-to-convert-array-of-int-to-array-of-string/85073 "2007-02-09T21:03:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![S\_Kanakakorn](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e8cbc/32.png) [@S\_Kanakakorn](https://www.ruby-forum.com/u/S_Kanakakorn)\
**Post date:** [February 9, 2007, 9:03pm UTC](https://www.ruby-forum.com/t/nicer-way-to-convert-array-of-int-to-array-of-string/85073/1 "2007-02-09T21:03:24Z")

</div>

Hi,

I’m quite new in Ruby. Here is what I wrote to convert array of  
integer to array of string. I’m sure there is more compact and nicer  
way to do this. Can I see the “ruby” way here ?

def convert(intArray)  
stringArray = []  
intArray.each do |i|  
stringArray = stringArray + i.to\_s.to\_a  
end  
return stringArray  
end

Thanks,

---

<div class="post-metadata">

**Author:** ![S\_Kanakakorn](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e8cbc/32.png) [@S\_Kanakakorn](https://www.ruby-forum.com/u/S_Kanakakorn)\
**Post date:** [February 9, 2007, 9:06pm UTC](https://www.ruby-forum.com/t/nicer-way-to-convert-array-of-int-to-array-of-string/85073/2 "2007-02-09T21:06:25Z")

</div>

Alle venerdì 9 febbraio 2007, S Kanakakorn ha scritto:

> end  
> return stringArray  
> end
> 
> Thanks,

stringArray=intArray.map{|i| i.to\_s}

map passes each value of the array to the block and puts what the block  
returns in a array.

Stefano

---

<div class="post-metadata">

**Author:** ![S\_Kanakakorn](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e8cbc/32.png) [@S\_Kanakakorn](https://www.ruby-forum.com/u/S_Kanakakorn)\
**Post date:** [February 9, 2007, 9:27pm UTC](https://www.ruby-forum.com/t/nicer-way-to-convert-array-of-int-to-array-of-string/85073/3 "2007-02-09T21:27:30Z")

</div>

On Sat, 2007-02-10 at 05:02 +0900, S Kanakakorn wrote:

> end  
> return stringArray  
> end

[1, 2, 3, 4].map{|i| i.to\_s } #=\> [“1”, “2”, “3”, “4”]

#map calls the given block sequentially with each item in the array, and  
returns an array containing the values returned by those calls.

Cheers,  
Daniel S.

---

<div class="post-metadata">

**Author:** ![S\_Kanakakorn](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/8e8cbc/32.png) [@S\_Kanakakorn](https://www.ruby-forum.com/u/S_Kanakakorn)\
**Post date:** [February 9, 2007, 9:30pm UTC](https://www.ruby-forum.com/t/nicer-way-to-convert-array-of-int-to-array-of-string/85073/4 "2007-02-09T21:30:30Z")

</div>

On Feb 9, 9:05 pm, Stefano C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > intArray.each do |i|  
> > returns in a array.
> 
> Stefano

If you use Ruby on Rails or Ruby 1.9 you’ll also be able to do this:  
intArray.map(&:to\_s)
