Lab5
Started by: LutyLuty
On: 1229576256|%e %b %Y, %H:%M %Z|agohover
Number of posts: 4
rss icon RSS: New posts
Summary:
Dicas pro lab5
Lab5
LutyLuty 1229576256|%e %b %Y, %H:%M %Z|agohover

Esse foi um erro meio difícil de perceber, e que nos deixou alguns dias travado. O Bernardo ajudou a encontrar e resolver esse erro:

Erro:
Nos testes, o "initialize.rb" carrega todos os arquivos .rb dentro de lib, inclusive o main.rb, o que não é a idéia e dá problema, pois quando tenta carregar main.rb ele executa o método main, que tenta usar algumas classes que ainda não foram carregadas (além disto, vc não quer que o main saia rodando quando vc executa os testes).

Soluções para este erro (escolher uma das duas):
-Colocar todas as classes dentro de uma pasta (chamei de classes) e deixar o main.rb fora. Assim initialize.rb só carrega o que estiver dentro da pasta classes. É preciso alterar os arquivos de teste (darem require em classes/initialize e não só initialize). É preciso também adicionar lib/classes ao load_path em initialize ($:.unshift File.join(File.dirname(FILE)) ), para fazer as chamadas de require procurarem arquivos dentro desta pasta (sem ser necessário declarar o caminho completo).

-Alterar a linha que carrega os arquivos em initialize.rb para Dir["#{File.dirname(FILE)}/**/*.rb"]..reject{|file| file.include?('main.rb')}.each{|file| require file}

Uma outra dica é pra quem não tiver linux (e consequentemente, não vai conseguir fazer o comando "telnet localhost 4344"), é só baixar o putty.exe. Deve ter na rede, ou, se não, é só dar uma olhada no google que aparece rapidinho.

Bom galera, boa sorte pra nós todos com esses últimos labs e boas férias!!!

unfold Lab5 by LutyLuty, 1229576256|%e %b %Y, %H:%M %Z|agohover
Re: Lab5
LutyLuty 1229577306|%e %b %Y, %H:%M %Z|agohover

interpretem FILE como: (dois underlines)FILE(dois underlines)

é que o editor do wiki entende isso como um atalho pra sublinhar a palavra no meio…

unfold Re: Lab5 by LutyLuty, 1229577306|%e %b %Y, %H:%M %Z|agohover
Re: Lab5
Fabio ImadaFabio Imada 1229577415|%e %b %Y, %H:%M %Z|agohover

No Windows Vista, e acho que no XP tb, dá pra abrir o telnet em C:\Windows\System32\telnet.exe

unfold Re: Lab5 by Fabio ImadaFabio Imada, 1229577415|%e %b %Y, %H:%M %Z|agohover
Re: Lab5
LutyLuty 1229578655|%e %b %Y, %H:%M %Z|agohover

ah garoto….bizu….
um outro errinho tb:
onde tem:
Dir["#{File.dirname(FILE)}/**/*.rb"]..reject{|file| file.include?('main.rb')}.each{|file| require file}

troquem por:
Dir["#{File.dirname(FILE)}/**/*.rb"].reject{|file| file.include?('main.rb')}.each{|file| require file}

e qual a diferença???

unfold Re: Lab5 by LutyLuty, 1229578655|%e %b %Y, %H:%M %Z|agohover
New post
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License