[Ruby] чтение из сокета неопределенного количества строк

vic ismakaev viclists at mail.esoo.ru
Wed May 7 16:59:02 MSD 2003


7 Май 2003 18:18, Ihar Viarheichyk написал:
> On Wed, May 07, 2003 at 05:39:24PM +0600, vic ismakaev wrote:
> > while @s.readline.length > 0
> >      line=@s.readline
> >     p line
> > end
> > Так вот - в последнем цикле: останавливается на последней
> > строке,прочитанной из сокета и остается в таком состоянии,пока я его не
> > прерву по CTRL+C.После чего появляется ошибка типа
> > ./pop.rb:11:in `readline': Interrupt
> >         from ./pop.rb:11
> > И я никак не пойму,как отловить момент,что строк из сокета больше не
> > получишь и выйти из цикла.
> > По идее,в такой конструкции цикла while он должен прерываться после
> > последней строки и вываливаться из цикла,но почему-то этого не
> > происходит.
> >
> > Потому и вопрос - какого вида цикл мне нужно использовать?
>
> Логично. Нужно так:
> while (line = @s.readline.length) > 0
> 	p line
> end
Увы,не проходит.

-- 
С уважением
Виктор В Исмакаев



More information about the Ruby mailing list