Ruby文件I / O中的EOFError是什么?

official documentation没有指定.我明白EOFError意味着“结束文件错误”,但究竟是什么意思?如果文件读取器到达文件的末尾,那听起来不像我的错误.

解决方法

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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...