[Ruby] чтение из сокета неопределенного количества строк
Ihar Viarheichyk
i.viarheichyk at sam-solutions.net
Wed May 7 16:18:53 MSD 2003
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
--
Igor Vergeichik
ICQ 47298730
More information about the Ruby
mailing list