/ / Requer não é possível encontrar o arquivo ruby ​​- ruby, irb

Exigir não conseguir encontrar arquivo rubi - ruby, irb

Eu sou um iniciante absoluto em Ruby. Criei um pequeno arquivo ruby ​​e ele funciona bem quando executo o comando ruby "methods.rb". Isso significa que estou no diretório correto.

Mas quando inicio o irb e executo o comando require "methods.rb", Recebo a seguinte resposta:

LoadError: cannot load such file -- methods.rb
from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:53:in `require"
from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:53:in `require"
from (irb):1
from /usr/local/rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>"

Respostas:

10 para resposta № 1

Ruby não adiciona o caminho atual ao caminho de carregamento por padrão.

No irb, você pode tentar require "./methods.rb" em vez de.


1 para resposta № 2

Eu tenho um arquivo ruby ​​chamado so.rb no diretório /home/kirti/Ruby. Então, primeiro no IRB, eu mudaria meu diretório de trabalho atual usando Dir#chdir método. Então eu ligaria #load ou #require método. Minhas so.rb arquivo contém apenas p hello linha.

Eu iria desta maneira:

>> Dir.pwd
=> "/home/kirti"
>> Dir.chdir("/home/kirti/Ruby")
=> 0
>> Dir.pwd
=> "/home/kirti/Ruby"
>> load "so.rb"
"hello"
=> true
>> require "./so.rb"
"hello"
=> true

1 para resposta № 3

Para adicionar o diretório do qual você está executando o script ruby ​​ao caminho de carregamento, use:

$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), "" ) )

ou se você colocou suas dependências em "subdir" do diretório atual:

$LOAD_PATH.unshift( File.join( File.dirname(__FILE__), "subdir" ) )

1 para resposta № 4

Se você deseja carregar coisas no IRB que estão no diretório atual, você pode:

irb -I.

Observe o "ponto" lá, indicando o diretório atual.

Se você estiver explorando e fazendo alterações nesse arquivo, enquanto estiver no IRB, use load ao invés de `require Como load permite carregar suas alterações e require permitirá que o arquivo seja necessário apenas uma vez. Isso significa que você não precisará sair do IRB para ver como suas alterações estão sendo afetadas.

Para descobrir quais opções você tem para o IRB, você pode fazer irb --help o que é bom de fazer se você estiver aprendendo a ferramenta.