为什么退格键会删除 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
下面是代码的工作部分。我删除了 \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
我用 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
下面是代码的工作部分。我删除了 \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