2012-02-11 13 views
33

veo esto mucho en muchos guiones rubí pero no está seguro de lo que significa:

$:.unshift File.dirname(__FILE__) 
+0

Posible duplicado de [¿Qué es '$ :. unshift File.dirname (\ _ \ _ FILE \ _ \ _)' doing?] (Http://stackoverflow.com/questions/5155995/what-is-unshift- file-dirname-file-doing) –

Respuesta

41

$: es sólo un atajo para $LOAD_PATH. __FILE__ es la ruta relativa al script. Esto agrega el directorio de scripts actual a la ruta de carga.

+0

Y agrega este directorio primero, por lo que tiene prioridad sobre el resto. ¿Derecha? – MegaTux

+0

@MegaTux Eso es correcto. – bfontaine

11

rubí viene con un conjunto de variables predefinidas:

$: La matriz contiene la lista de lugares para buscar scripts de Ruby y módulos binarios por carga o requerimiento. Inicialmente consiste en los argumentos para cualquier -I interruptores de línea de comando, seguido de la biblioteca predeterminada de Ruby, probabl "/ usr/local/lib/ruby", seguido de ".", Para representar el directorio actual. (Mnemotécnico: dos puntos es de los separadores de la variable de entorno PATH.)

Consulte aquí para obtener más: http://web.njit.edu/all_topics/Prog_Lang_Docs/html/ruby/variable.html#colon

otro enlace: http://www.ruby-forum.com/topic/142378#631564