【问题标题】:Handle single character user input without pressing enter无需按 Enter 即可处理单字符用户输入
【发布时间】:2013-10-23 03:55:31
【问题描述】:

我正在编写一个小型交互式命令行工具,提示用户按数字键。它应该在第一次按键/输入后直接继续。

目前我这样做是为了捕捉用户的输入

puts "yes, please ..."
gets.chomp

...但是这需要按“enter”来确认输入。如何在第一次按键后立即返回输入值?

【问题讨论】:

标签: ruby input keypress


【解决方案1】:

试试这样的:

puts 'Do you want to proceed? y/n'

loop do
  system("stty raw -echo")
  c = STDIN.getc
  system("stty -raw echo")

  case c
  when 'y'
    puts 'Yes'
    break
  when 'n'
    puts 'No'
    break
  else
    puts 'Please type "y" or "n"'
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2016-03-06
    • 2013-03-13
    • 2022-07-06
    • 1970-01-01
    • 2017-02-13
    • 2015-02-04
    • 1970-01-01
    相关资源
    最近更新 更多