当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby IO.ungetc用法及代码示例


本文简要介绍ruby语言中 IO.ungetc 的用法。

用法

ungetc(integer) → nil
ungetc(string) → nil

将字符(作为参数传递)推回 ios ,以便后续缓冲读取将返回它。仅保证支持单个字节,并且仅当自从上次从 ios 读取至少一个字节后尚未在 ios 上调用 ungetbyte 或 ungetc 时。但是,如果内部缓冲区中有空间允许它,它可以支持额外的字节。

f = File.new("testfile")   #=> #<File:testfile>
c = f.getc                 #=> "8"
f.ungetc(c)                #=> nil
f.getc                     #=> "8"

如果给定一个整数,则该整数必须表示 ios 的外部编码中的有效代码点。

调用此方法会添加到现有缓冲区,即使之前已经调用过该方法:

f = File.new("testfile")   #=> #<File:testfile>
f.ungetc("ab")             #=> nil
f.ungetc("cd")             #=> nil
f.read(5)                  #=> "cdab8"

对无缓冲读取(例如 IO#sysread )无效。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 IO.ungetc。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。