本文简要介绍ruby语言中 IO.ungetbyte
的用法。
用法
ungetbyte(string) → nil
ungetbyte(integer) → nil
将字节(作为参数传递)推回 ios
,以便后续缓冲读取将返回它。仅保证支持单个字节,并且仅当自从上次从 ios
读取至少一个字节后尚未在 ios
上调用 ungetbyte 或 ungetc 时。但是,如果内部缓冲区中有空间允许它,它可以支持额外的字节。
f = File.new("testfile") #=> #<File:testfile>
b = f.getbyte #=> 0x38
f.ungetbyte(b) #=> nil
f.getbyte #=> 0x38
如果给定一个整数,则仅使用整数的低 8 位作为要推送的字节。
f = File.new("testfile") #=> #<File:testfile>
f.ungetbyte(0x102) #=> nil
f.getbyte #=> 0x2
调用此方法会添加到现有缓冲区,即使之前已经调用过该方法:
f = File.new("testfile") #=> #<File:testfile>
f.ungetbyte("ab") #=> nil
f.ungetbyte("cd") #=> nil
f.read(5) #=> "cdab8"
对无缓冲读取(例如 IO#sysread
)无效。
相关用法
- Ruby IO.ungetc用法及代码示例
- Ruby IO.eof用法及代码示例
- 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.noecho用法及代码示例
- Ruby IO.new用法及代码示例
- Ruby IO.sysopen用法及代码示例
- Ruby IO.try_convert用法及代码示例
- Ruby IO.write用法及代码示例
- Ruby IO.pathconf用法及代码示例
- Ruby IO.sysseek用法及代码示例
- Ruby IO.closed?用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 IO.ungetbyte。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。