2011-07-21 60 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