从MacRuby访问外部文件

时间:2012-09-12 20:46:40

标签: xcode 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。

感谢。

2 个答案:

答案 0 :(得分:0)

您应该将代码更改为“/Users/xxx/data.csv”。 Ruby不会将“〜”扩展为“/ Users / xxx”。

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

答案 1 :(得分:0)

我能够通过使用:

来解决我的问题
@arr_from_csv = CSV.read(File.expand_path("~/data.csv"))