我已经安装了Aptana Studio 3.0.1作为eclipse插件和ruby 1.9.2p180。当我从Aptana运行ruby脚本并在调试控制台上跟踪它的执行时,它会延迟输出直到脚本完成。
这是一个简单的代码示例:
puts "Hello world!"
print "Enter a phrase: "
puts gets
当我在Aptana上运行这个程序时,我得到了这个输出
Test Hello world! Enter a phrase: Test
但是在ruby解释器上运行它会给我一个不同的结果:
ruby test.rb Hello world! Enter a phrase: Test Test
后者是正确的输出。
发生了什么事? 也许我在Aptana中发现了一个错误,或者是由于配置错误?
答案 0 :(得分:1)
有两种解释:
Ruby有时会将输出缓冲到STDERR / STDOUT(特别是在Windows上我们倾向于看到这一点)。您可以通过在代码中添加以下内容来强制它们进行刷新:
STDERR.sync = true
STDOUT.sync = true
3.0.2中有一个修复程序,我们默默地为您执行此操作:http://jira.appcelerator.org/browse/APSTUD-2355