Não estou conseguindo rodar esse loop, ele sempre está saindo do loop, como se eu tivesse digitado algo diferente de 1. O que tem de errado?
I don’t get to do this loop. Always finish the loop. What’s wrong?
i = 1
#for i in 1..10000000000000 do
while (i==1)
print "ESTADO ATUAL: "
puts $estadoatual
puts "Proximo estado: parar, andar, levantar_cabeca, abocanhar "
$temp = gets.chomp # O QUE SIGNIFICA ESSE $ NA FRENTE NA VARIAVEL?????????? VARIAVEL GLOBAL.. CERTO?
case
when ($temp == "andar")
andar()
when ($temp == "parar")
parar()
when ($temp == "levantar_cabeca")
levantar_cabeca()
when ($temp == "abocanhar")
abocanhar()
else
puts "Estado inválido!"
end
puts "Terminar? 1-Não 2-Sim"
i = gets.chomp
# break if (i == 2) #NÃO ESTÁ PARANDO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
end
$i = “1” # variavel global
$a = “1” # variavel global
while ($i==$a)
print "ESTADO ATUAL: "
puts "Proximo estado: parar, andar, levantar_cabeca, abocanhar "
$temp = gets.chomp # retorna string sem caracter especial de fim de linha
case
when ($temp == “andar”)
print "andar"
when ($temp == “parar”)
print "parar"
when ($temp == “levantar_cabeca”)
print "levantar a cabeca"
when ($temp == “abocanhar”)
else
puts "Estado inválido!"
end
puts “Terminar? 1-Não 2-Sim”
$i = gets.chomp
end
i = 1
#for i in 1…10000000000000 do
while (i==1)
print "ESTADO ATUAL: "
puts $estadoatual
puts "Proximo estado: parar, andar, levantar_cabeca, abocanhar "
$temp = gets.chomp.to_i # De fato o caracter $ é para definir variaveis globais
case
when ($temp == "andar")
andar()
when ($temp == "parar")
parar()
when ($temp == "levantar_cabeca")
levantar_cabeca()
when ($temp == "abocanhar")
abocanhar()
else
puts "Estado inválido!"
end
puts "Terminar? 1-Não 2-Sim"
i = gets.chomp.to_i # É necessário converter para inteiro. Pois o gets.chomp é do tipo String. Logo seu break não iria parar.
break if (i == 2)
end