From: Alex Gutteridge Date: 2007-10-23T09:42:28+09:00 Subject: Re: Writing to a file help On 23 Oct 2007, at 09:24, JeremyWoertink@gmail.com 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"] > Ideas? > > thanks, > > ~Jeremy > > > > On Oct 22, 5:08 pm, "JeremyWoert...@gmail.com" > wrote: >> 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" >> Also look up Array#join to make your life easier. Alex Gutteridge Bioinformatics Center Kyoto University