【问题标题】:ruby read character in cygwin terminalruby 在 cygwin 终端中读取字符
【发布时间】:2011-11-11 06:49:54
【问题描述】:

我试图在 cygwin 中运行的 ruby​​ 中一次读取一个字符。

STDIN.getc 返回字符,但只有在我按下回车后:

STDOUT.sync = true
while true
    STDIN.getc
    puts "HELLO"
    STDOUT.flush
end

测试会话:

aa
HELLO
HELLO
HELLO

如何读取字符?

【问题讨论】:

  • 自Cygwin起,看这个答案stackoverflow.com/questions/174933/…
  • @dexter: 在一个简单的测试应用程序中单独工作,但是当我把它放在我的应用程序中时,ruby 崩溃了:/

标签: ruby cygwin char


【解决方案1】:

在 Ruby1.9.3 以后使用 io-console

require 'io/console'

# input 3 chars and escape

buf = ''
3.times do
  buf << STDIN.getch
end

print "Your input is '#{buf}'"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多