1

以前にいくつかの小さなスクリプト作成/自動化プロジェクトを行ったことがありますが、MacRuby を使用するのはこれが初めてで、プロジェクトが機能しない理由がまったくわかりませんでした。

このタスクは、単純な Ruby スクリプトであれば簡単に修正できたはずです。ただし、Mac GUI が必要なので、Cocoa バインディングに MacRuby を使用することにしました。

アプリ自体は、外部 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

以下を使用して問題を解決できました。

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

コードを「/Users/xxx/data.csv」に変更する必要があります。Ruby は "~" を "/Users/xxx" に展開しません。

注意: xxx はログイン ID を表します。

于 2013-05-28T08:30:13.727 に答える