From: Cee Joe Date: 2011-04-30T03:32:00+09:00 Subject: Re: File position and buffers 7stud -- wrote in post #995821: > I suggest that people never use irb because it has too many quirks. > > The first thing you need to realize is that '>' is > not the separator you want to look for. That is the second bit of > erroneous advice your mentor gave you. That's because you don't care > what character marks the beginning of every entry, rather you care what > character marks the end of every entry. The end of every entry in your > file is marked by the string "\n\n", so you should use that as your > input line terminator. Remember, ruby uses "\n" for the input line > separator by default, which means that when you read a file using > IO#each, ruby reads lines--where the end of a line is marked by a > newline. I understand the logic, it makes sense. What if the file looked like this, where there is one newline seperating the entries? : >gi|329295464|ref|NM_2005745.3Acc1| Def1 zgc:65895 (zgc:65895), mRNA AGCTCGGGGGCTCTAGCGATTTAAGGAGCGATGCGATCGAGCTGACCGTCGCG >gi|456299107|ref|NM_2342343.3Acc2| Def2 zgc:65895 (zgc:65895), mRNA GTCGCTGGGTCGAAAAGTGGTGCTATATCGCGGCTCGCGTCGATGTCGCGATG CGTGCGCGCGAGAGCGCGCTATGATGAAAGGATGAGAGAG >gi|3542945647|ref|NM_7453343.5Acc3| Def3 zgc:65895 (zgc:65895), mRNA CGTGCGGGGABCCGTACGTGCCGTGGGGGTTTAATAGCGCGCCATCTGAGCAG TTAGTCGCTGACGCATGCACG Would an if-else(regarding"\n" and "\n\n") do the trick? I wanted to write my code to where it would handle both scenarios. Or maybe: case when "\n\n" when "\n" end something to that extent? Suggestions? -- Posted via http://www.ruby-forum.com/.