为什么退格键会删除 JRuby 中的整行,有什么解决方法?

Why backspace key deletes the entire row in JRuby and what can be the fix for it?

我用 JRuby 开发了几个工具。这两种工具都会提示用户几个问题。在回答这些问题时,如果用户想要更正错误输入并点击 backspace 键,则删除整行(包括问题)而不是只删除一个字符。

下面是提示问题的代码:

require highline/import

def prompt
  begin
      input=ask("\t\tEnter user name: ") do |ch|
              ch=true
          end

      input
  rescue => e
       print "Error -"+e
  end

end

我想知道你们中有没有人以前遇到过这种问题,有什么办法可以解决这个问题?非常感谢您的时间和帮助。

提前致谢。

如果您使用的是高线 gem,那么在读取输入时而不是

input=ask("Enter the Input: "){|ch| ch.echo = true}

使用

input=ask("Enter the Input: ") do |ch|
   ch.readline=true
end

来源:https://www.ruby-forum.com/topic/4406162

下面是代码的工作部分。我删除了 \t 并将 ch=true 更改为 ch.readline=true。感谢您的所有帮助和指导。

require highline/import

def prompt
    begin
        input=ask("Enter user name: ") do |ch|
              ch.readline=true
            end

        input
     rescue => e
          print "Error -"+e
      end
end