2011-03-03 17 views
11

Esto es en realidad una pregunta sobre esta pregunta: Adding a directory to $LOAD_PATH (Ruby)

¿Qué sucede cuando agrega un directorio a $ LOAD_PATH? ¿Es como agregar un archivo de script al contexto de ejecución como en JavaScript? (Puede acceder a métodos/objetos globales en otros archivos) En caso negativo, ¿cómo puedo llamar a los métodos de otros archivos ruby ​​en el directorio actual?

Respuesta

13

Cuando se agrega el directorio /Users/you/scripts/ruby a la trayectoria de carga, puede utilizar:

require 'example' 

en lugar de:

require '/Users/you/scripts/ruby/example.rb' 
+0

Todavía tenemos que usar 'require' para incluir esa clase en nuestro código. Entonces, ¿está bien decir que solo ayuda especificar la ruta relativa en lugar de la absoluta? – RubyDosa

+0

deseaba que más de las respuestas fueran así de simple y directo. gran uso del ejemplo para explicar un concepto. kudos @adrian – berto77

1

pienso en la $LOAD_PATH en cuanto a ser similar a la variable PATH en una sistema operativo. Si ciertos directorios están en LOAD_PATH, puede escribir require "some_module". También es la razón para poder require archivos del directorio actual.

De manera predeterminada, LOAD_PATH ya no incluye el directorio actual . habiendo sido removed in Ruby 1.9.2.

+0

Solo en Ruby 1.8. $ LOAD_PATH en 1.9 no incluye el directorio de trabajo. – adrian

+0

@Adrian: 1.9.1 tiene ''.'' en' $ LOAD_PATH'. –

Cuestiones relacionadas