load works on local path, require doesn't

前端 未结 2 1844
孤独总比滥情好
孤独总比滥情好 2021-02-07 01:44

loadee.rb

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

loaddemo.rb

puts \'This is the first (master) program file.\'
load \'loadee.rb         


        
2条回答
  •  夕颜
    夕颜 (楼主)
    2021-02-07 02:20

    If you provide just a filename to require, it will only look in the predefined $LOAD_PATH directories. However, if you provide a path with your filename, it should work:

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

    You could also add your project's folder to the load path instead:

    $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.'
    

    And last, you could just use require_relative instead:

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

提交回复
热议问题