けいじゅ@日本ラショナルソフトウェアです.

むむ... すごいバグが...

In [ruby-list :20720 ] the message: "[ruby-list:20720] ruby 本の 
mtalkd マルチスレッド版について ", on Feb/15 12:54(JST) Nobutaka
Terauchi writes:

>はじめまして、寺内 信尊といいます。

どもども.

>早速、質問があります。
>ruby本 P.159 の mtalkdマルチスレッド版22行目がわかりません。
>以下に、わからない部分を引用させてもらいます。
>
>--- オブジェクト指向スクリプト言語Ruby P.159 より引用 ---
>
>def client(active, info)
>	loop do
>		if false #active.eof? <----- ここがわかりません
>			printf "disconn: %s(%s)\n", ClientInfo[active].name,
>				ClientInfo[active].addr
>			if ClientInfo[active].status != :CLOSE
>				printf "Warn: This socket is not close.\n"
>			end
>			active.close
>			Clients.delete(active)
>			ClientInfo.delete(active)
>		else
>			prot, = active.read(2).unpack("n")
>			case PROT_id2n[prot]
>
>---------------------------------------------------------
>
>if false #active.eof?
>	・・・
>else で・・・ブロックは一度も実行されない。
>#active.eof? はコメントである。
>
>と、解釈していよろしいのでしょうか?

えーとですね.

  false #

を削除してください. つまり, 

if active.eof?

です.

>レベルの低い質問かもしれませんが、よろしくおねがいします。

いえいえ. 間違いを発見してくださりありがとうございます.

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju / rational.com <<---