Olá a todos, Estou iniciando meu aprendizado em Ruby e engasguei num ponto que parece muito simples mas que não consigo desenrolar. O problema envolve o uso do método de kernel require.
Vou ilustrar o problema com uma versão bem simples. Tenho um arquivo chamado dados.rb com o seguinte conteúdo a = "a" O segundo arquivo é script.rb com o seguinte conteúdo require 'dados.rb' puts a Em tese, usando require 'dados.rb' deveria deixar o conteúdo de dados.rb disponível para uso posterior e o programa script.rb deveria imprimir na tela o conteúdo da variável a. Não é o que está acontecendo, entretanto. No prompt, digito $ ruby script.rb e recebo a seguinte mensagem de erro: script.rb:2: undefined local variable or method `a' for main:Object (NameError) Pelo que entendi, é como se o programa script.rb não estivesse lendo o conteúdo de dados.rb. Acho que não é uma questão de path, pois os dois arquivos estão no mesmo diretório e o erro persiste mesmo se dou o path absoluto de dados.rb. Com o irb ou o fxri, se entro com o comando require 'dados.rb' recebo um 'true' de volta, o que parece indicar que o arquivo foi carregado. Mesmo assim, se invoco puts a, tenho o mesmo erro: NameError: undefined local variable or method `a' for main:Object. Alguém tem alguma idéia do que pode ser? Tentei esse procedimento com o Ruby 1.8.5 no Ubuntu 7.04 e no XP e tenho sempre o mesmo resultado. Alguém poderia me dar uma dica sobre o que posso estar fazendo de errado? Obrigado de antemão, Pablo _______________________________________________ Ruby-l mailing list [email protected] http://www.listas.unicamp.br/mailman/listinfo/ruby-l
