當運行以下紅寶石腳本:當我從TextMate運行時,爲什麼'gets'不能在我的Ruby腳本中工作?
puts gets.inspect
在我提示的輸入,然後顯示在inspect
輸出終端,但如果我使用CMD+R
快捷然後它從裏面TextMate的運行相同的腳本只是輸出nil
就好像沒有gets
方法一樣。
這是爲什麼?從我讀過的內容看,當腳本請求輸入STDIN時,TextMate應該顯示一個輸入對話框,但在這種情況下不會發生這種情況。
當運行以下紅寶石腳本:當我從TextMate運行時,爲什麼'gets'不能在我的Ruby腳本中工作?
puts gets.inspect
在我提示的輸入,然後顯示在inspect
輸出終端,但如果我使用CMD+R
快捷然後它從裏面TextMate的運行相同的腳本只是輸出nil
就好像沒有gets
方法一樣。
這是爲什麼?從我讀過的內容看,當腳本請求輸入STDIN時,TextMate應該顯示一個輸入對話框,但在這種情況下不會發生這種情況。
參見this blog entry;據推測你是在雪豹?
從評論中,有些用戶說this file已經在Snow Leopard上爲他們工作。根據@dmarkow的回答,將此文件複製到:
/Applications/TextMate.app/Contents/SharedSupport/Support/lib/
您可能希望保留文件的副本,因爲TextMate的更新可能會替代它。
偉大的鏈接!我懷疑是這樣的。也許當Textmate 2出來時......我們仍然活着。 – coreyward
謝謝!將該文件添加到路徑dmarkow給我解決了這個問題。 – joshuapoehls
酷解決方案!謝謝。 –
具體來說,您需要通過Phrogz鏈接到tm_interactive_input.dylib文件複製在以下路徑:
/Applications/TextMate.app/Contents/SharedSupport/Support/lib/tm_interactive_input.dylib
請記住,這是可能的任何TextMate的更新將覆蓋或刪除該文件。
謝謝!如果您沒有發佈該文件,我不會知道該文件的放置位置。 – joshuapoehls
對我來說也行不通(就是在Textmate裏''''',')。它看起來像這個功能有從Textmate消失的歷史,然後在更新中出現。它可能只是真的被黑客攻擊......你可能在Bundle片段中找到它。 – coreyward