¿Cuál es la diferencia entre require_relative
y require
en Ruby?
Respuestas
¿Demasiados anuncios?Basta con mirar en el google docs:
require_relative
complementa el grupo builtin métodorequire
permitiéndole cargar un archivo que es relativo a el archivo que contiene larequire_relative
declaración.Por ejemplo, si usted tiene pruebas unitarias de clases en la "prueba" del directorio, y los datos de ellos en virtud de la prueba "test/datos de directorio", entonces usted podría utilizar una línea como esta en un caso de prueba:
require_relative "data/customer_data_1"
A partir de API Ruby:
require_relative complementa la builtin método requiere por lo que le para cargar un archivo que es relativo a la archivo que contiene la require_relative declaración.
Cuando se utiliza requieren para cargar un archivo, normalmente el acceso a la funcionalidad que ha sido debidamente instalado y accesible, en su sistema. requieren no ofrecen un buena solución para la carga de archivos dentro de el código del proyecto. Esto puede ser útil durante una fase de desarrollo, para el acceso a los datos de prueba, o incluso para el acceso a los archivos que están "bloqueados" dentro de un proyecto, no destinados a la fuera de uso.
Por ejemplo, si usted tiene la prueba de unidad clases en la "prueba" del directorio, y los datos por ellos en virtud de la prueba "prueba/datos de directorio", entonces usted podría el uso de una línea como esta en un caso de prueba:
require_relative "data/customer_data_1"
Ya que ni "test" o "test/datos" probablemente estar en Rubí de la ruta de la biblioteca (y para una buena razón), normal no requieren encontrarlos. require_relative es un buen la solución para este problema en particular.
Usted puede incluir u omitir la extensión de (.rb o .so) del archivo que se de carga.
ruta de acceso debe responder a to_str.
Usted puede encontrar la documentación en http://extensions.rubyforge.org/rdoc/classes/Kernel.html