Writing to a file help

I am trying to read 1 file then create another file from that 1. My
problem I am having is that my file is not being formated the same way
I am telling it. So for example I have

line_a = %{#{i.to_s.rjust(6, “0”)}|#{array[0]}|#{array[1]} #{array[2]}
|#{array[3]}|#{array[4]}|#{array[5]}|#{array[6]} #{array[7]}|
#{array[8]}|\n}

out_file.write(line_a)

the output is

000001|array0array1array2array3array4array5array6
| |||| ||

so basically my pipes and spaces are being appended to the end of my
string after the “\n”

any ideas?

~Jeremy

ok, so it seems that it is not splitting the line into an array. so
what looks to be my array0-6 is actually just array[0]. So, my next
question is how do I split a line by tabs?

I was using array << line.split("\t"), but that isn’t working.

Ideas?

thanks,

~Jeremy

On Oct 22, 5:08 pm, “[email protected]

HAHA, i’m dumb… sorry, I forgot that using split returns an array, so
I was appending an array to another one. WOW… time to lay off the
VB for a while and get my head back in some ruby.

OMG…

~Jeremy

On Oct 22, 5:24 pm, “[email protected]

On 23 Oct 2007, at 09:24, [email protected] wrote:

ok, so it seems that it is not splitting the line into an array. so
what looks to be my array0-6 is actually just array[0]. So, my next
question is how do I split a line by tabs?

I was using array << line.split("\t"), but that isn’t working.

Your split should work. Take care with your Array though. Array#<<
appends the object you give it to an Array. String#split returns an
Array so what you end up with is an Array which contains the Array
generated by split. Perhaps Array#+ is what you need?

irb(main):009:0> array = []
=> []
irb(main):010:0> string = “hi\tthere”
=> “hi\tthere”
irb(main):011:0> string.split("\t")
=> [“hi”, “there”]
irb(main):012:0> array << string.split("\t")
=> [[“hi”, “there”]]
irb(main):013:0> array += string.split("\t")
=> [[“hi”, “there”], “hi”, “there”]

I am trying to read 1 file then create another file from that 1. My

the output is

000001|array0array1array2array3array4array5array6
| |||| ||

so basically my pipes and spaces are being appended to the end of my
string after the “\n”

Also look up Array#join to make your life easier.

Alex G.

Bioinformatics Center
Kyoto University

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs