# Add a string on the end of values before splitting new line

**URL:** <https://www.ruby-forum.com/t/add-a-string-on-the-end-of-values-before-splitting-new-line/162095>\
**Category:** Ruby\
**Created:** [March 5, 2009, 5:49pm UTC](https://www.ruby-forum.com/t/add-a-string-on-the-end-of-values-before-splitting-new-line/162095 "2009-03-05T17:49:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [March 5, 2009, 5:49pm UTC](https://www.ruby-forum.com/t/add-a-string-on-the-end-of-values-before-splitting-new-line/162095/1 "2009-03-05T17:49:22Z")

</div>

Hi again. I am starting a new topic since this question is not the same  
as my original topic started this morning. “It builds on to that  
question.”

Originally I was reading a textfile that had values that were comma  
delimited. The values were not being outputted to separated lines. Now  
that they do that…I was hoping that someone could help me to add a  
comment before the line goes into splitting. Thanks everyone for being  
so helpful! MC

Question:  
Do you know how to add a string on the end of each value before  
splitting into a new line? For instance…

textfile contents: value1,value2,value3…

value1 comments  
value2 comments  
value3 comments

I tried this using Robert’s code, however, it put the comments on a  
newline.

File.foreach “temp.txt” do |line|  
puts “”, line.split(/,/),“comments” + @usercomments  
end

---

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [March 6, 2009, 12:47pm UTC](https://www.ruby-forum.com/t/add-a-string-on-the-end-of-values-before-splitting-new-line/162095/2 "2009-03-06T12:47:02Z")

</div>

2009/3/6 Mmcolli00 Mom [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> Question:  
> Do you know how to add a string on the end of each value before  
> splitting into a new line? For instance…
> 
> File.foreach “temp.txt” do |line|  
> puts “”, line.split(/,/),“comments” + @usercomments  
> end

You could use Array#map method.

---

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [March 6, 2009, 1:16pm UTC](https://www.ruby-forum.com/t/add-a-string-on-the-end-of-values-before-splitting-new-line/162095/3 "2009-03-06T13:16:35Z")

</div>

Mmcolli00 Mom wrote:

> Hi again. I am starting a new topic since this question is not the same  
> as my original topic started this morning. “It builds on to that  
> question.”
> 
> Originally I was reading a textfile that had values that were comma  
> delimited. The values were not being outputted to separated lines. Now  
> that they do that…I was hoping that someone could help me to add a  
> comment before the line goes into splitting. Thanks everyone for being  
> so helpful! MC
> 
> Question:  
> Do you know how to add a string on the end of each value before  
> splitting into a new line? For instance…
> 
> textfile contents: value1,value2,value3…
> 
> value1 comments  
> value2 comments  
> value3 comments
> 
> I tried this using Robert’s code, however, it put the comments on a  
> newline.
> 
> File.foreach “temp.txt” do |line|  
> puts “”, line.split(/,/),“comments” + @usercomments  
> end

Hi Mom,

1. Collect all data from file and store it as a single String variable  
@a. So @a.class==String

2. Ex, @file=“value1,value2,value3,value4”

3. Code

@file=“value1,value2,value3,value4”  
@output=[]  
@file.split(/,/).each do |record|  
@output \<\< record + " comments"  
end  
puts @output # =\> It gives =\> [“value1 comments”,“value2  
comments”,“value3 comments”,“value4 comments”]

So use puts @output.join(“\n”).

It will gives output like:

value1 comments  
value2 comments  
value3 comments  
value4 comments

Regards,  
P.Raveendran

> **[Raveendran](https://raveendran.wordpress.com)**
>
> Nothing is impossible...

---

<div class="post-metadata">

**Author:** ![mmcolli00](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/85e7bf/32.png) [@mmcolli00](https://www.ruby-forum.com/u/mmcolli00)\
**Post date:** [March 6, 2009, 1:43pm UTC](https://www.ruby-forum.com/t/add-a-string-on-the-end-of-values-before-splitting-new-line/162095/4 "2009-03-06T13:43:33Z")

</div>

On Fri, Mar 6, 2009 at 1:17 PM, jazzez ravi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> 1. Code

@file=“value1,value2,value3,value4”

# @output=[]

# @file.split(/,/).each do |record|

# @output \<\< record + " comments"

# end

output = @file.split(/,/).map {|record| record + comments}

each + filling an array =\> map

Jesus.
