Lorsque vous ouvrez un fichier local dans un navigateur, l'URL dans la barre d'adresse est affiché comme:
file:///Users/7stud/Desktop/accounts.txt
Mais cela ne signifie pas que vous utilisez ce format dans un script Ruby. Votre script Ruby n'envoie pas le nom de fichier à un navigateur, puis demande au navigateur de récupérer le fichier. Votre script Ruby recherche directement dans votre système de fichiers.
La même chose est vraie pour les URL: votre script Ruby ne demande pas à votre navigateur d'aller récupérer une page sur Internet, Ruby récupère la page elle-même en envoyant une requête en utilisant l'interface réseau de votre système. Après tout, un navigateur et un programme Ruby ne sont que des programmes informatiques. Ce que votre navigateur peut faire sur un réseau, un programme Ruby peut le faire aussi.
Cela fonctionne pour moi:
require 'open-uri'
text = open('./data.txt').read
puts text
Vous devez obtenir votre droit chemin, cependant. La seule raison que je peux penser à utiliser open()
est si vous avez un tableau de noms de fichiers et d'URL mélangés ensemble. Si ce n'est pas votre cas, voyez la réponse de new2code.
Impossible. Tout votre code nécessite 'open-uri', puis assignez une chaîne à une variable. – 7stud
Pourquoi utiliser OpenURI pour ouvrir un fichier quand vous pouvez utiliser 'open' tout seul? –