2012-09-12 4 views
1

J'ai déjà réalisé plusieurs petits projets de script/automation mais c'est la première fois que j'utilise MacRuby et je n'ai pas pu trouver pourquoi mon projet ne fonctionne pas.Accéder à un fichier externe depuis MacRuby

Cette tâche aurait été facile à réparer s'il s'agissait d'un simple script Ruby. Cependant, il a besoin d'une interface graphique Mac, j'ai donc décidé d'utiliser MacRuby pour ses liaisons Cocoa.

L'application elle-même est une forme simple qui va effectuer un calcul basé sur certaines données d'un CSV externe et de certains champs de texte, puis afficher les résultats du calcul.

Mon problème est que ce code ne semble pas fonctionner:

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

En construisant le fichier, je reçois l'erreur suivante:

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

Au début, je pensais que je devais avoir Placez le fichier CSV dans le mauvais répertoire dans la structure de dossier du projet XCode. J'ai essayé de mettre sur le même dossier que le script lui-même (app_delegate.rb). N'a pas fonctionné. J'ai essayé de le mettre dans le dossier Resources, ne fonctionnait toujours pas.

Ensuite, j'ai décidé d'utiliser simplement un chemin de fichier absolu. Donc, j'ai changé pour le code dans:

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

et copié le fichier dans mon répertoire personnel. Il ne peut toujours pas lire le fichier CSV.

Ai-je raté quelque chose? Je suis désolé, c'est la première fois que j'utilise MacRuby.

Merci.

Répondre

0

j'ai pu résoudre mon problème en utilisant:

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

Vous devez remplacer le code par "/Users/xxx/data.csv". Ruby ne développe pas "~" en "/ Users/xxx".

Remarque: xxx représente votre identifiant de connexion.

+1

peut Ruby. En utilisant 'File.expand_path()'. – dashmug

Questions connexes