本文简要介绍ruby语言中 IO.eof
的用法。
用法
eof → true or false
也别名为:eof?
如果流位于其末尾,则返回true
,否则返回false
;见位置:
f = File.open('t.txt')
f.eof # => false
f.seek(0, :END) # => 0
f.eof # => true
除非打开流进行读取,否则引发异常;参见模式。
如果 self
是管道或套接字等流,则此方法会阻塞,直到另一端发送一些数据或关闭它:
r, w = IO.pipe
Thread.new { sleep 1; w.close }
r.eof? # => true # After 1-second wait.
r, w = IO.pipe
Thread.new { sleep 1; w.puts "a" }
r.eof? # => false # After 1-second wait.
r, w = IO.pipe
r.eof? # blocks forever
请注意,此方法将数据读取到输入字节缓冲区。所以 IO#sysread
可能不会像你想要的那样表现 IO#eof?
,除非你先调用 IO#rewind
(这对某些流不可用)。
我#eof?是 IO#eof
的别名。
相关用法
- Ruby IO.eof?用法及代码示例
- Ruby IO.each_line用法及代码示例
- Ruby IO.each_char用法及代码示例
- Ruby IO.each_byte用法及代码示例
- Ruby IO.each用法及代码示例
- Ruby IO.read用法及代码示例
- Ruby IO.fileno用法及代码示例
- Ruby IO.pread用法及代码示例
- Ruby IO.raw用法及代码示例
- Ruby IO.readlines用法及代码示例
- Ruby IO.to_i用法及代码示例
- Ruby IO.self << object用法及代码示例
- Ruby IO.tty?用法及代码示例
- Ruby IO.close_write用法及代码示例
- Ruby IO.write_nonblock用法及代码示例
- Ruby IO.set_encoding_by_bom用法及代码示例
- Ruby IO.syswrite用法及代码示例
- Ruby IO.close_read用法及代码示例
- Ruby IO.stat用法及代码示例
- Ruby IO.pwrite用法及代码示例
- Ruby IO.ungetc用法及代码示例
- Ruby IO.noecho用法及代码示例
- Ruby IO.new用法及代码示例
- Ruby IO.sysopen用法及代码示例
- Ruby IO.try_convert用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 IO.eof。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。