1

我之前做过几个小型脚本/自动化项目,但这是我第一次使用 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。

谢谢。

4

2 回答 2

0

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

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

于 2013-05-28T08:30:13.727 回答
0

我能够通过使用来解决我的问题:

@arr_from_csv = CSV.read(File.expand_path("~/data.csv"))
于 2013-05-29T15:26:57.073 回答