2012-09-12 69 views
1

我已經完成了幾個小型腳本/自動化項目,但這是我第一次使用MacRuby,並且根本找不到爲什麼我的項目無法正常工作。從MacRuby訪問外部文件

如果只是一個普通的Ruby腳本,這個任務本來就很容易解決。但是,它需要一個Mac GUI,所以我決定使用MacRuby作爲它的Cocoa綁定。

該應用程序本身是一個簡單的表單,它將根據來自外部CSV和某些文本字段的某些數據執行計算,然後顯示計算結果。

我的問題是,這個代碼不似乎工作:

@arr_from_csv = CSV.read("data.csv") 

在建設,我得到以下錯誤的文件:

[...]/ruby/1.9.2/CSV.rb:1335:in `open': No such file or directory - open() failed (Errno::ENOENT) 

起初,我認爲我必須有將CSV文件放入XCode項目文件夾結構內的錯誤目錄中。我嘗試將其放在與腳本本身相同的文件夾(app_delegate.rb)。沒有工作。我試過把它放在Resources文件夾中,仍然沒有工作。

然後,我決定只使用絕對文件路徑。所以,我改成代碼:

@arr_from_csv = CSV.read("~/data.csv") 

並將文件複製到我的主目錄。它仍然無法讀取CSV文件。

我錯過了什麼嗎?對不起,這是我第一次使用MacRuby。

謝謝。

回答

0

我能夠通過使用來解決我的問題:

@arr_from_csv = CSV.read(File.expand_path("~/data.csv")) 
0

您應該將代碼更改爲「/Users/xxx/data.csv」。 Ruby不會將「〜」擴展爲「/ Users/xxx」。

注意:xxx代表您的登錄ID。

+1

紅寶石即可。通過使用'File.expand_path()'。 – dashmug