相关疑难解决方法(0)

立即从控制台获取单个字符

一旦提供了STDIN,是否可以从STDIN中获取每个char(无需等待返回键)?

ruby

23
推荐指数
2
解决办法
1万
查看次数

Ruby STDIN.getc在接收时不读取char

似乎Ruby IO#getc在返回字符之前等到接收到\n.

如果您尝试运行此脚本:

STDOUT.sync = true
STDIN.sync = true
while data = STDIN.getc
  STDOUT.puts "Char arrived"
end
Run Code Online (Sandbox Code Playgroud)

每个发送到stdin的char都会返回一个"Char arrival",但只有在发送了\n之后才会返回.

即使我写STDIN.sync = true,似乎所有char都被缓冲.

在将字符发送到STDIN之后,有没有人知道如何使脚本打印"Char到达"?

ruby stdin getc

3
推荐指数
1
解决办法
2802
查看次数

标签 统计

ruby ×2

getc ×1

stdin ×1