Require a besoin du chemin absolu vers le fichier, à moins que le fichier ne soit situé dans l'un des chemins de chargement de Ruby. Vous pouvez voir les chemins de chargement par défaut avec puts $:
. Il est courant d'effectuer l'une des opérations suivantes pour charger un fichier :
Ajoutez le répertoire du fichier principal au chemin de chargement et utilisez ensuite les chemins relatifs avec require :
$: << File.dirname(__FILE__)
require "my_module"
Le code Ruby 1.8 qui ne charge qu'un seul fichier contiendra souvent une ligne unique du genre :
require File.expand_path("../my_module", __FILE__)
Ruby 1.9 a ajouté require_relative :
require_relative "my_module"
Dans le module, vous devrez définir les méthodes comme des méthodes de classe, ou utiliser la fonction Module#module_function :
module MyModule
def self.method1 ary
...
end
def method2
...
end
module_function :method2
end
a = [1,2,3,4]
MyModule.method1(a)