之前我已经完成了几个小脚本/自动化项目,但这是我第一次使用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 :(得分:0)
您应该将代码更改为“/Users/xxx/data.csv”。 Ruby不会将“〜”扩展为“/ Users / xxx”。
注意:xxx代表您的登录ID。
答案 1 :(得分:0)
我能够通过使用:
来解决我的问题@arr_from_csv = CSV.read(File.expand_path("~/data.csv"))