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

时间:2011-07-25 17:05:29

标签: ruby

如果按F5,SciTE编辑器将为我运行Ruby程序。但是当我尝试运行需要用户输入的程序(使用“获取”)时,它不起作用。弹出一个闪烁光标的黑色窗口,但是当我尝试输入时,没有任何反应。从Windows命令行运行相同的程序工作正常。

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

我做错了吗?我该怎么做才能解决这个问题?

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

1 个答案:

答案 0 :(得分:2)

这是'正常'

您遇到的一些问题(我认为)和解决方案:

  1. 脚本结束前不显示您的输出。所以你不知道会发生什么。解决方案:STDOUT.flush
  2. 您的输入不会出现在DOS窗口中,而是出现在输出窗格中。解决方案:在输出窗格中输入您的答案。
  3. 你得到一个DOS窗口。解决方案:将脚本从“XYZ.rb”重命名为“XYZ.rbw”(请参阅​​“w”)。
  4. 我的测试脚本:

    puts "In scite: Please answer in Output pane"
    puts "User input:"
    STDOUT.flush
    input = STDIN.gets 
    puts "You entered #{input.inspect}"