Dans mon programme Ruby, j'essaye de charger paresseux une bibliothèque (crack pour les curieux).`autoload` déclenche une erreur mais` require` ne fonctionne pas (ruby)
Si je fais ceci:
require 'rubygems'
require 'crack'
Tout fonctionne très bien. Cependant, quand j'essaie ceci:
require 'rubygems'
autoload :Crack, 'crack'
A ChargeErreur est élevée. (aucun fichier de ce type à charger - crack)
Pourquoi cette erreur est-elle déclenchée? Est-ce parce que 'crack' (et donc mes autres gemmes installées par l'utilisateur) ne sont pas dans mon $ LOAD_PATH?
modifier:
De plus, autoload
fonctionne avec la bibliothèque standard:
autoload :Yaml, 'yaml'
fonctionne très bien, et soulève aucune erreur.
Excellent! Merci d'expliquer Kernel # require, aussi! Dois-je placer ceci avant ou après 'require 'rubygems'' ou est-ce important? –
après: la méthode "gem" est ajoutée au noyau par rubygems, donc elle ne sera pas disponible avant que les rubygems ne soient requis. –