为什么SciTe在需要用户输入的问题上打开DOS窗口?

  • 本文关键字:问题 窗口 DOS SciTe 用户 ruby
  • 更新时间 :
  • 英文 :


如果我按F5, SciTE编辑器将为我运行Ruby程序。但是当我试图运行一个需要用户输入的程序(使用"gets")时,它不起作用。弹出一个带有闪烁光标的黑色窗口,但当我试图在其中输入时,什么也没有发生。从windows命令行运行相同的程序可以正常工作。

我使用的Scite编辑器版本2.27和Ruby 1.9.2-p290。

我做错了什么吗?我能做些什么来解决这个问题?

ETA:原来DOS窗口什么都不做,如果我最小化它,我可以直接在输出窗口中输入。修改问题:我如何使DOS窗口停止弹出?

这是'正常的

你有一些问题(我认为)和解决方案:

  1. 脚本结束前不显示输出。所以你不知道会发生什么。解决方案:STDOUT.flush
  2. 您的输入不应该出现在dos窗口中,而应该出现在输出窗格中。解决方案:在输出窗格中输入您的答案。
  3. 你得到一个DOS窗口。解决方案:将脚本从"XYZ"重命名。b' to 'XYZ。rbw'(见'w')。
我的测试脚本:
puts "In scite: Please answer in Output pane"
puts "User input:"
STDOUT.flush
input = STDIN.gets 
puts "You entered #{input.inspect}"

最新更新