本文簡要介紹ruby語言中 IO.eof?
的用法。
用法
eof?()
別名: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?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。