From: "David A. Black" Date: 2004-09-07T06:03:19+09:00 Subject: Re: include? only true once Hi -- On Tue, 7 Sep 2004, Matthew Margolis wrote: > David A. Black wrote: > > >Hi -- > > > >On Tue, 7 Sep 2004, Matthew Margolis wrote: > > > > > > > >>blockFile = File.new("blocklist.txt", "a+") > >>print blockFile.read.include?("aa") > >>print blockFile.read.include?("aa") > >> > >>blocklist.txt looks like > >>-------------------------------------------- > >>aa > >>ae > >>aj > >>au > >>ae > >>--------------------------------------------- > >> > >> > >>Why does #include? return true on the first call only? > >> > >> > > > >Because you've reached end-of-file :-) > > > > > >David > > > > > > > blockFile = File.new("blocklist.txt", "a+") > print blockFile.read.include?("aa") > blockFile.lineno = 0 > print blockFile.read.include?("aa") > > Still gives true false instead of true true I'm ignorant of #lineno= but it doesn't seem to affect EOF. (If you add an EOF test it will come out true.) But you could use #pos to get back to the beginning of the stream. David -- David A. Black dblack@wobblini.net