Question

Bonjour, j'ai testé des choses très basiques en Ruby et découvre ce qui suit.

Si je mets un fichier appelé xxxx.rb dans ce chemin "C:\Documents and Settings\Desktop\xxxx.rb"

puts __FILE__

et invoquez ce fichier Ruby dans une ligne de commande SANS précéder Ruby, le résultat est le suivant

C:/Documents et paramètres/Bureau/xxxx.rb

mais si j'invoque le fichier xxxx.rb avec rubis (ruby xxxx.rb) dans la commande comme le résultat est le suivant :

xxxx.rb

Pourquoi cette différence ??Merci

PD :JE SUIS SOUS WINDOWS XP SP3

VERSION RUBIS :1.8.6

Était-ce utile?

La solution

Ce que vous voulez, c'est étendre le chemin correctement :

# Affected by the current working directory, etc.
puts __FILE__

# Always an absolute path
puts File.expand_path(__FILE__, Dir.getwd)

Cela prend en compte votre répertoire de travail actuel.

Autres conseils

Je suppose que lorsque vous double-cliquez simplement sur le fichier, le chemin absolu est transmis.Vous devriez obtenir le même effet en l'appelant comme :

ruby C:/Documents and Settings/Desktop/xxxx.rb

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top