3
respostas

'tentativa' não definida como variável local ou método após passar os parâmetros

Eu segui o código do Instrutor porém continuo com o exato mesmo erro antes de passar o parâmetro. Admito que estou meio cansado e com a vista deixando passar detalhes, mas não notei nenhuma diferença no código do professor para o meu. Estou deixando passar alguma variável em algum lugar ou é algum erro de indentação? Ele acusa as linhas 30, 31 e 17 que seria a variável 'tentativa'

maior_ou_menor.rb:17:in pede_um_numero': undefined local variable or methodtentativa' for main:Object (NameError)

def da_boas_vindas
    puts "Bem vindo ao jogo da adivinhação"
    puts "Qual é seu nome?"
    nome = gets
    puts "\n\n Começaremos o jogo para você " + nome
end

def sorteia_numero_secreto
    puts "\nEscolhendo um número entre 0 e 200..."
    sorteado = 175
    puts "Escolhido... que tal adivinhar hoje nosso número secreto?\n\n"
    sorteado #return sorteado
end


def pede_um_numero(tentativa, limite_de_tentativas)
    puts "Tentativa " + tentativa.to_s + " de " + limite_de_tentativas.to_s
    puts "Entre com um 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)

    acertou = numero_secreto == chute.to_i

    if acertou
        puts "Acertou!"
        break
    else
        maior = numero_secreto > chute.to_i
        if maior
            puts "O número secreto é maior!"
        else
            puts "O número secreto é menor!"
        end
    end
end
3 respostas

Atualização: Eu troquei meu editor de texto por outro e o código rodou normalmente. Não sei se é o caso, mas aparentemente outro editor que eu estava usando entendeu 'tentativa' e 'limite_de_tentativas' como palavras soltas e não variáveis.

Eu realmente não sei se foi esse o caso , mas mudando de editor de texto resolveu meu problema.

É, acontece kkkkk, ou vai ver você corrigiu o erro ao redigitar...

Então Bárbara, eu estou cismado com o que pode ter ocorrido porquê eu apenas abri o mesmo arquivo de script em outro editor, salvei e rodei pelo terminal!

Ainda estou com a sensação de que se eu respirar forte demais o código vai quebrar de novo de tão aleatório que foi hahahaha

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software