# Working on a first plain Ruby script, need help with \`join'

**URL:** <https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823>\
**Category:** Ruby\
**Created:** [July 11, 2008, 8:42pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823 "2008-07-11T20:42:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![caiwangqin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/4bbf92/32.png) [@caiwangqin](https://www.ruby-forum.com/u/caiwangqin)\
**Post date:** [July 11, 2008, 8:42pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823/1 "2008-07-11T20:42:46Z")

</div>

I need help in the block to create a csv file of these entries.

the file, abridged:

@verb\_index = "

aah v 1 1 @ 1 0 00865776  
abacinate v 1 1 @ 1 0 02168378  
abandon v 5 4 @ ~ $ + 5 5 02228031 02227741 02076676 00613393 00614057  
abase v 1 3 @ ~ + 1 0 01799794  
abash v 1 3 @ ~ + 1 0 01792097  
.  
.  
.  
zone v 2 3 @ ~ + 2 0 02512150 00332835  
zonk\_out v 2 2 @ ~ 2 0 00023868 00016855  
zoom v 3 3 @ ~ + 3 1 02055521 02056209 01943718  
zoom\_along v 1 1 @ 1 0 02055521  
zoom\_in v 1 1 @ 1 0 02153253  
"

@verbs\_array = @verb\_index.split(/\n/)

@verbs\_array.each do |n|

n.split  
n.join(", ") # fails

# How do I output the lines into a verb\_index.csv file ?

end

---

<div class="post-metadata">

**Author:** ![caiwangqin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/4bbf92/32.png) [@caiwangqin](https://www.ruby-forum.com/u/caiwangqin)\
**Post date:** [July 11, 2008, 8:48pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823/2 "2008-07-11T20:48:58Z")

</div>

Jesse C. wrote:

> n.split  
> n.join(", ") # fails

Do you want to do n.split.join(", ") ?

---

<div class="post-metadata">

**Author:** ![caiwangqin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/4bbf92/32.png) [@caiwangqin](https://www.ruby-forum.com/u/caiwangqin)\
**Post date:** [July 11, 2008, 9:00pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823/3 "2008-07-11T21:00:27Z")

</div>

On Fri, Jul 11, 2008 at 11:38 AM, Jesse C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> n.split  
> n.join(", ") # fails

n.split returns a new object containing the array of split entries  
from n. you aren’t assigning this new object to anything, so it is  
silently discarded. the object pointed to by n is unchanged. what you  
want is something like

a = n.split  
a.join(", ")

or more compactly

n.split.join(", ')

martin

---

<div class="post-metadata">

**Author:** ![caiwangqin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/4bbf92/32.png) [@caiwangqin](https://www.ruby-forum.com/u/caiwangqin)\
**Post date:** [July 11, 2008, 9:12pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823/4 "2008-07-11T21:12:27Z")

</div>

Ø¹Ù…Ø± Ù…Ù„Ù‚Ø¨ Ø¨Ø§Ù„Ø«Ø§Ù†ÛŒ wrote:

> Jesse C. wrote:
> 
> > n.split  
> > n.join(", ") # fails
> 
> Do you want to do n.split.join(", ") ?

Yes. How do I put them into a CSV file? Thank you.

---

<div class="post-metadata">

**Author:** ![caiwangqin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/4bbf92/32.png) [@caiwangqin](https://www.ruby-forum.com/u/caiwangqin)\
**Post date:** [July 11, 2008, 9:23pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823/5 "2008-07-11T21:23:18Z")

</div>

On Jul 11, 2008, at 3:08 PM, Jesse C. wrote:

> Yes. How do I put them into a CSV file? Thank you.

Use FasterCSV (which replaces CSV in the standard lib for Ruby 1.9)

-Rob

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

---

<div class="post-metadata">

**Author:** ![caiwangqin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/4bbf92/32.png) [@caiwangqin](https://www.ruby-forum.com/u/caiwangqin)\
**Post date:** [July 11, 2008, 9:31pm UTC](https://www.ruby-forum.com/t/working-on-a-first-plain-ruby-script-need-help-with-join/142823/6 "2008-07-11T21:31:25Z")

</div>

Jesse C. wrote:

> Ø¹Ù…Ø± Ù…Ù„Ù‚Ø¨ Ø¨Ø§Ù„Ø«Ø§Ù†ÛŒ wrote:
> 
> > Do you want to do n.split.join(", ") ?
> 
> Yes. How do I put them into a CSV file? Thank you.

Supposing you’re reading from stdin or from files passed as argument and  
you’re writing to stdout:

ARGF.each { |line| puts line.split.join(’, ') }

If you want to output to file

output\_file = open (‘output.cvs’, ‘w’)  
ARGF.each { |line| output\_file.puts line.split.join(’, ') }

[a beginner in Ruby]
