【发布时间】:2013-03-28 19:51:36
【问题描述】:
如何在 Ruby 中清理 STDIN?我想确保 STDIN 中没有任何内容。
【问题讨论】:
-
干净是什么意思?
-
我的意思是删除所有缓冲的字符
如何在 Ruby 中清理 STDIN?我想确保 STDIN 中没有任何内容。
【问题讨论】:
您可以使用来自io/wait 的IO#ready? 检查STDIN 中是否有可用的输入。
使用IO#getc 读取一个字符,将其从缓冲区中删除。
require 'io/wait'
def clear_stdin
$stdin.getc while $stdin.ready?
end
【讨论】: