解决方法
EOFError在所有IO中都是方便的,该类是Ruby中所有输入/输出的基础.现在还记得核心的Unix概念:一切都是一个文件.这包括插座.所以,如果你有一些套接字打开并正在读取它,一个特殊的条件可能是遇到文件的结尾.
所有的例子都显示了EOFError的微不足道的使用(同时读取一些文本文件),这些并不真正有用.然而,开始挖掘net / http或其他使用套接字的类,你会看到使用这个异常.
编辑为从net / ftp添加此示例
def getline line = @sock.readline # if get EOF,raise EOFError line.sub!(/(\r\n|\n|\r)\z/n,"") if @debug_mode print "get: ",sanitize(line),"\n" end return line end