2012-02-27 21 views

Respuesta

61

Depende de su plataforma, y ​​cómo Rubí fue compilado, así que no hay "la" respuesta a esto. Usted puede averiguar mediante la ejecución:

ruby -e 'puts $:' 

general, sin embargo, tiene las estándar, el sitio y rutas de bibliotecas Rubí proveedor, incluyendo un arco, la versión, y el directorio general en virtud de cada uno.

+3

Hay un "la" respuesta. La variable $: o $ LOAD_PATH proporciona la lista completa de lugares que se buscan. Usted mismo notó una manera simple y limpia de imprimirlo ... – Perry

+2

Ah. Depende de cómo lea la pregunta: hay "la" respuesta al aspecto de Ruby, pero cambiará si ejecuta Ruby diferente o en una plataforma diferente. por ejemplo: MRI 1.8.7 y REE usarían diferentes rutas, o Darwin y Linux MRI usan rutas sutilmente diferentes. No estaba seguro de cuál, así que me sentí más cómodo con esta respuesta. –

+2

Eso es cierto, aunque supongo que el que pregunta simplemente quería saber cómo encontrar la ruta de carga en lugar de asumir que era constante en todas las plataformas. – Perry

1

requieren (cadena) => verdadero o falso

Rubí intenta cargar la cadena biblioteca llamada, devolviendo true si tiene éxito. Si el nombre de archivo no se resuelve en una ruta absoluta, se buscará en los directorios enumerados en $ :. Si el archivo tiene la extensión ".rb", se carga como un archivo fuente; si la extensión es ".so", ".o" o ".dll", o cualquiera que sea la extensión de biblioteca compartida predeterminada en la plataforma actual, Ruby carga la biblioteca compartida como una extensión de Ruby. De lo contrario, Ruby intenta agregar ".rb", ".so", etc. al nombre. El nombre de la característica cargada se agrega a la matriz en $ :.

22

Rubí se ve en todas las rutas especificadas en la matriz $LOAD_PATH.

También puede añadir un directorio para buscar así:

$LOAD_PATH.unshift File.expand_path('../path/from/this/file/to/another/directory', __FILE__) 
+0

Exactamente lo que necesitaba. ¡Gracias! – Kilhoffer

7

rutas adicionales se pueden especificar mediante el establecimiento de ambiente RUBYLIB variables

Cuestiones relacionadas