Ruby 高速缓存以前的输出

Ruby 高速缓存以前的输出,ruby,highline,Ruby,Highline,使用HighLineV1.6.19 当我运行以下Ruby程序时: require 'highline' stdin = HighLine.new($stdin, $stdout) stdin.ask("1 enter password: ") { |q| q.echo = false } stdin.ask "2 enter something else: " stdin.ask("3 enter password: ") { |q| q.echo = false } stdin.ask "4

使用HighLineV1.6.19

当我运行以下Ruby程序时:

require 'highline'

stdin = HighLine.new($stdin, $stdout)
stdin.ask("1 enter password: ") { |q| q.echo = false }
stdin.ask "2 enter something else: "
stdin.ask("3 enter password: ") { |q| q.echo = false }
stdin.ask "4 enter something else: "
在询问前三个问题时,输出如下所示:

1 enter password:
2 enter something else: whatever
3 enter password:
然后,它请求第四次,并不是将第四行放在第三行之后,而是覆盖第二行之前的输出:

1 enter password:
4 enter something else: whatever
3 enter password:

知道为什么或者怎么做吗?

这是我得到的输出:

1 enter password: 
2 enter something else: hello
3 enter password: 
4 enter something else: goodbye

你用的是什么操作系统?

MacOSX(10.8.2),我在iTerm2和终端上得到了这个。我有一个朋友试过,他也能正常工作。知道为什么我的手机会关机吗?:/我的readline是用自制软件安装的,但它说它只是小桶,不知道还能是什么。