2011-07-21 57 views
1

以下请求是based upon an earlier version posted on the Aptana Tender site,它没有收到响应 - 大概是因为Aptana Tender站点现在已经是deprecated in favour of StackOverflowAptana Studio运行Ruby程序的问题

我在Macbook上的Mac OS X 10.6.8 Snow Leopard上使用Eclipse 3.6.2.r362_v20110210和Aptana Studio插件版本3.0.3.201107141410(即所有完全最新,我相信)。

我创建了一个Ruby项目,然后创建一个单独的文件里面所谓的“item.rb的”,到了我写了一些Ruby代码。

该文件非常短:它定义了一个“Item”类,其中包含一个初始化方法,该方法向用户询问一个值(使用“puts”后跟一个“gets.chomp”)和一个get方法,该方法返回值,它还包含两行:一个用于创建一个新Item,另一个用于在新创建的Item上调用该方法。

当我从终端运行“红宝石item.rb的”,它按预期工作:它要求用户输入一个值,并返回该值。没有错误/警告。现在

,我不希望有使用终端我想执行的文件每一次,但我无法得到它运行的任何其他方式。

下面是步骤来重现:

  • 在Eclipse主菜单中,选择Window>打开透视图>其他。
  • 在出现的对话框中,点击“Ruby”并点击“确定”。
  • 在脚本Explorer视图中,单击包含我想要运行,从而使显示的项目内容的文件的项目名称的三角形。
  • 在脚本资源管理器视图中,双击要运行的文件的名称(item.rb)。
  • 这导致item.rb的以在编辑器视图中打开,并给出该视图焦点(即含有item.rb的编辑器视图具有蓝色,而不是一个灰色的边框,并有一个活动光标的视图内)。
  • 单击Eclipse工具栏上的“运行”按钮(看起来像绿色的“播放”按钮)。
  • 的第一个问题:“运行方式...”对话框弹出(我不知道为什么)要我“选择一种方式来运行‘item.rb的’”。它给了我两个选项(我不知道为什么):“Android应用程序”,“Ruby应用程序”。
    • 预期行为:因为item.rb是一个以“.rb”结尾且只包含有效Ruby代码的文件,所以Eclipse/Aptana默认应该将其作为Ruby应用程序运行。
  • 我点击“Ruby应用程序”,然后点击“确定”。
  • 第二个问题:对话框消失,但没有其他事情发生。
    • 预期行为:控制台视图应该获得焦点,并且应该执行item.rb,结果显示在控制台视图的textarea中。
  • 在这一点上,放弃是合理的。但程序员不合理地执着,对吗?因此:单击控制台选项卡。
  • 控制台视图的标题显示“item.rb [Ruby应用程序]/usr/bin/ruby​​”,下面是一个空白的textarea,其中只包含一个闪烁的光标。
  • 按<在Macbook键盘上返回/输入>键一次或两次。
  • 第三个问题:控制台视图的textarea突然更新为item.rb的输出,但奇怪的是,它并没有停在gets.chomp上,它就好像用户在该阶段输入了一个空响应(即,就好像用户只是按下了键盘上的<返回/输入>键),并继续播放,直到整个程序执行完毕。然后控制台视图的标题变为“<终止> item.rb [Ruby应用程序]/usr/bin/ruby​​”。
    • 预期行为:item.rb应该在控制台视图中执行,就像它在终端中一样。

请你能帮助我解决这三个问题?

非常感谢。

回答

2

听起来您已经安装了旧版本的Aptana,RDT,RadRails或DLTK Ruby,因为Aptana Studio 3.x中没有“Ruby”透视图。

您应该可以在项目浏览器,应用程序浏览器或打开的文件编辑器中右键单击文件,然后选择运行方式> Ruby应用程序。

理想情况下,你会删除任何旧的安装红宝石插件,以避免这样做之前的某种冲突。它应该按预期启动文件。

你正在谈论的输入/返回行为听起来像程序没有正在刷新STDERR/STDOUT并且按Enter键继续输入输入内容(所以它缓冲了你应该看到的形成提示的输出,然后你按Enter/Return键,并把它作为输入,所以它在gets调用之后继续)。如果打印到STDOUT的东西没有显示,您可以尝试通过将$stdout.sync = true添加到脚本的顶部来强制自动刷新。 Studio 3.x应该通过它启动的程序静静地为你设置。如果没有,那么你应该提交一个bug:http://jira.appcelerator.org/secure/CreateIssue!default.jspa

+0

感谢您回答这个问题,并对延迟抱歉。我已经开始使用全新的Aptana Studio 3来查看是否有帮助,但我仍然遇到一些问题。我会在下一次获得的机会中报告更多细节。 – sampablokuper

+0

恐怕我决定停止使用Aptana(赞成Vim),这就是为什么我没有回报。 – sampablokuper