Je suis un débutant absolu en Ruby. J'ai créé un petit fichier ruby et il fonctionne bien lorsque j'exécute la commande ruby "methods.rb"
. Cela signifie que je suis dans le bon répertoire.
Mais quand je lance irb et lance la commande require "methods.rb"
, Je reçois la réponse suivante:
LoadError: cannot load such file -- methods.rb
from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:53:in `require"
from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:53:in `require"
from (irb):1
from /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>"
Réponses:
10 pour la réponse № 1Ruby n’ajoute pas le chemin actuel au chemin de chargement par défaut.
De irb, vous pouvez essayer require "./methods.rb"
au lieu.
1 pour la réponse № 2
J'ai un fichier de rubis appelé so.rb
dans l'annuaire /home/kirti/Ruby
. Donc, d’abord à la CISR, je changerais mon répertoire de travail actuel en utilisant Dir#chdir
méthode. Alors j'appellerais #load
ou #require
méthode. ma so.rb
le fichier contient seulement p hello
ligne.
J'irais de cette façon:
>> Dir.pwd
=> "/home/kirti"
>> Dir.chdir("/home/kirti/Ruby")
=> 0
>> Dir.pwd
=> "/home/kirti/Ruby"
>> load "so.rb"
"hello"
=> true
>> require "./so.rb"
"hello"
=> true
1 pour la réponse № 3
Pour ajouter le répertoire à partir duquel vous exécutez le script ruby, utilisez le chemin de chargement:
$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), "" ) )
ou si vous avez mis vos dépendances dans "sous-répertoire" du répertoire en cours:
$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), "subdir" ) )
1 pour la réponse № 4
Si vous allez charger des éléments dans votre base de données dans votre répertoire actuel, vous pouvez effectuer les opérations suivantes:
irb -I.
Notez le "point" à cet endroit, indiquant le répertoire actuel.
Si vous explorez et apportez des modifications à ce fichier alors que vous êtes dans IRB, utilisez load
plutôt que `require
comme load
vous permet de charger vos modifications, et require
n'autorisera le fichier qu'une seule fois. Cela signifie que vous n'aurez pas besoin de quitter IRB pour voir comment vos modifications sont affectées.
Pour savoir quelles options vous avez pour IRB, vous pouvez faire irb --help
ce qui est bon à faire si vous apprenez l'outil.