loadee.rbcarga trabaja en ruta local, no requiere
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 corro "ruby loaddemo.rb"
, Esto funciona bien. Ambos archivos están en el mismo directorio, y ese es el directorio desde el que corro.
Pero si cambio de la carga a una requieran, y con o sin la extensión me sale:
<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 se requerirá trabajar en este caso? Debería, ¿verdad? ¿Carga y requiere usar diferentes caminos?
versión de Ruby 1.9.2
Entonces, ¿por qué la carga funciona sin la ruta? ¿Utiliza una variable de ruta diferente? –
Esto realmente está listado como un error para ruby en este momento. 1.9 eliminó el "directorio actual" de la ruta de carga al usar 'require', pero no para' load'. http://redmine.ruby-lang.org/issues/2710 –
Además, tenga en cuenta que cada vez que usa 'load', evalúa el archivo completo, mientras que' require 'solo evalúa el archivo la primera vez que necesita eso. –