nominees nominations nominados international internacional ganadores emmy chile awards 46th ruby ruby-1.9.2

ruby - nominations - carga funciona en ruta local, requiere no



international emmy awards 2018 nominees (2)

Proporcionar una ruta con el nombre de archivo no me funcionó, y no quería meter un montón de rutas en mi $LOAD_PATH .

Revisando la documentation , encontré require_relative .

require_relative ''loadee''

Funciona tanto en 1.9.2 como en 2.1.2 .

La documentation indica que require no tiene la intención de buscar rutas relativas en absoluto, y tampoco de load .

loadee.rb

puts ''> This is the second file.''

loaddemo.rb

puts ''This is the first (master) program file.'' load ''loadee.rb'' puts ''And back again to the first file.''

Cuando ejecuto "ruby loaddemo.rb" , esto funciona bien. Ambos archivos están en el mismo directorio, y ese es el directorio desde el que ejecuto.

Pero si cambio la carga a un requerimiento, y con o sin la extensión obtengo:

<internal:lib/rubygems/custom_require>:29:in `require'': no such file to load -- loadee.rb (LoadError) from <internal:lib/rubygems/custom_require>:29:in `require'' from loaddemo.rb:2:in `<main>''

Mi pregunta es, por supuesto, ¿por qué no es necesario trabajar en este caso? Debería, ¿verdad? ¿Carga y requiere usar diferentes caminos?

Ruby version 1.9.2


Si proporciona solo el nombre de archivo que require , solo se buscará en los directorios $LOAD_PATH predefinidos. Sin embargo, si proporciona una ruta con su nombre de archivo, debería funcionar:

puts ''This is the first (master) program file.'' require ''./loadee.rb'' puts ''And back again to the first file.''

También puede agregar la carpeta de su proyecto a la ruta de carga en su lugar:

$LOAD_PATH.unshift File.dirname(__FILE__) puts ''This is the first (master) program file.'' require ''loadee.rb'' puts ''And back again to the first file.''

Y por último, puedes usar require_relative lugar:

puts ''This is the first (master) program file.'' require_relative ''loadee.rb'' puts ''And back again to the first file.''