require
não encontraria arquivos sem .rb
extensões. load
é projetado para incluir scripts e arquivos de configuração sem .rb
extensão.
Explicação de Matz:
“requer é carregar” bibliotecas “, onde carregar é carregar” scripts “. O destino do método de carregamento pode ser arquivos de configuração ou qualquer outra coisa do caminho especificado, mas pelo menos são todos scripts Ruby. por outro lado, o método require carrega bibliotecas Ruby ou bibliotecas implementadas em C de carregamento dinâmico residem no caminho de carregamento. Portanto, ele precisa da extensão do caminho do arquivo para distinguir que tipo de biblioteca ler. “