Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Duvida no exercício

Bem, estou reformulando o código da aula de ruby 1 no vídeo número 5 em " O poder da extração do código" . Em que estão ensinando definições e variáveis locais e então faço o que é pedido na aula, executo o código e me aparece um erro.

def pede_um_numero (tentativa, limite_de_tentativas)
    puts "\n\n\n"
    puts "Tentativa " + tentativa.to_s +  " de "  +  limite_de_tentativas.to_s
    puts "Entre com o número"
    chute = gets
    puts "Será que acertou? Você chutou " + chute 
    chute
end 

da_boas_vindas
numero_secreto = sorteia_numero_secreto
limite_de_tentativas = 5

for tentativa in 1..limite_de_tentativas
   chute = pede_um_numero (tentativa,  limite_de_tentativas)

O erro que aparece ao executar o código é esse " maior_ou_menor.rb:34:in block in <main>': undefined methodtentativa' for main:Object (NoMethodError) from maior_ou_menor.rb:33:in each' from maior_ou_menor.rb:33:in'

o primeiro erro que estava mostrando era erro da sintaxe na linha 34 que seria no parametro (tentativa, limite_de_tentativas) e o erro inesperado seria a " , " o que estaria errado? Tirei a virgula e deu o erro de cima também na linha 34.

Aproveitando o tópico para não ter que abrir outro, aqui vai outra duvida. Gostaria de saber onde achar projetos open sources em ruby, até então, estou gostando bastante da linguagem mas não sei muito bem para o que serve e andei pesquisando sobre, mas ainda não matou minhas dúvidas sobre onde usar, o motivo de usar e o que posso criar com Ruby. E também, gostaria de saber quando acontece os eventos de desenvolvimento. Andei pesquisando sobre o DEV in Sampa mas parece que não me ocorre desde 2014. O site e a página do facebook estão completamente mortos. Desde já, obrigado.

Caso eu resolva a dúvida antes de responderem, fecho o tópico! (:

6 respostas

Oi Bruno, Tudo bem? Vamos primeiro resolver o problema no código, ai a gente conversa sobre a segunda pergunta tá bem? Me disponibiliza por favor um zip do seu projeto pra mim ver o código inteiro e testar na minha máquina, pode ser?

Opa Wanderson, irei disponibilizar no github para ficar mais fácil! (: Mas infelizmente meu computador teve problema e tive que reiniciar, por isso fiquei sem responder! Irei reescrever o código novamente, caso eu ache o erro ou fique ok eu fecho o tópico! Desde já Wanderson, muito obrigado. (:

Caso ache o erro, posta ele aqui também Bruno? Assim se alguém chegar a ver o tópico, vai saber qual problema você teve e como resolveu! Abraço!

Opa Wanderson, aqui está o código. https://gist.github.com/brvvno/b030021f813e994552e918d02b892d13

e o erro que deu agora foi " Começaremos o jogo para você, Bruno Escolhendo um número secreto entre 0 e 200... Escolhido... que tal adivinhar hoje nosso número secreto? maior_ou_menor.rb:19:in pede_um_numero': wrong number of arguments (0 for 2) (ArgumentError) from maior_ou_menor.rb:35:inblock in ' from maior_ou_menor.rb:34:in each' from maior_ou_menor.rb:34:in' "

"

Caso seja importante, utilizo o OSX

Já olhei na linha que pede que ainda não achei o erro.

solução!

Cara, resolvi! Creio que o erro foi no espaço na linha 35 que estava " chute = pede_um_numero(tentativa, limite_de_tentativas) " e o primeiro " ( " como estava com espaço o computador estava achando que era uma vírgula inesperada (?) Estranhei pois não tinha virgula alguma. eu só tirei o espaço, salvei e compilei o código e funcionou! (:

Oi Bruno, desculpa a demora =(, mas fiquei feliz por ter encontrado o problema. Só explicando o problema da virgula: Em alguns casos o espaço é usado para omitir o parentese da chamada de um método, por isso o interpretador pode confundir as vezes e dar um erro esquisito. Cuidado! :)