【发布时间】:2011-07-21 20:56:23
【问题描述】:
下面的请求是 based upon an earlier version posted on the Aptana Tender site,它没有收到响应 - 大概是因为 Aptana Tender 站点现在已经是 deprecated in favour of StackOverflow。
我在 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 上调用该方法。
当我从终端运行“ruby item.rb”时,它按预期工作:它向用户询问一个值,然后返回该值。没有错误/警告。
现在,我不想每次执行文件时都必须使用终端,但我无法以任何其他方式运行它。
以下是重现的步骤:
- 在 Eclipse 主菜单中,转到 Window > Open Perspective > Other。
- 在出现的对话框中,单击“Ruby”并单击“确定”。
- 在“脚本资源管理器”视图中,单击包含我要运行的文件的项目名称旁边的三角形,以便显示项目的内容。
- 在“脚本资源管理器”视图中,双击我要运行的文件的名称 (item.rb)。
- 这会导致 item.rb 在编辑器视图中打开,并赋予该视图焦点(即包含 item.rb 的编辑器视图具有蓝色而不是灰色边框,并且视图内有一个活动光标)。
- 单击 Eclipse 工具栏上的“运行”按钮(看起来像绿色的“播放”)按钮。
- 第一个问题:弹出“运行方式...”对话框(我不知道为什么)要求我“选择一种运行方式 'item.rb'”。它给了我两个选择(同样,我不知道为什么):“Android 应用程序”、“Ruby 应用程序”。
- 预期行为:因为 item.rb 是以“.rb”结尾的文件并且只包含有效的 Ruby 代码,所以 Eclipse/Aptana 默认应该将其作为 Ruby 应用程序运行。李>
- 我点击“Ruby Application”,然后点击“OK”。
- 第二个问题:对话框消失了,但没有其他反应。
- 预期行为:控制台视图应该获得焦点,并且 item.rb 应该被执行,结果显示在控制台视图的文本区域中。
- 到此为止,放弃是合理的。但是程序员的执着是不合理的,对吧?所以:点击控制台选项卡。
- 控制台视图的标题显示“item.rb [Ruby 应用程序] /usr/bin/ruby”,下面是一个空白文本区域,其中仅包含一个闪烁的光标。
- 按一次或两次 Macbook 键盘上的
键。 - 第三个问题:控制台视图的文本区域突然更新为 item.rb 的输出,但奇怪的是,它并没有在 gets.chomp 处停止,它就像用户在那个阶段输入了一个空响应(即好像用户只是按下了键盘上的
键),然后继续耕作,直到整个程序执行完毕。控制台视图的标题随后更改为“ item.rb [Ruby Application] /usr/bin/ruby”。 - 预期行为:item.rb 应该像在终端中一样在控制台视图中执行。
请你帮我解决这三个问题?
非常感谢。
【问题讨论】: