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

Ruby não está devolvendo o item direito

No código abaixo, o Ruby está retornando uma letra e não os strings inteiros (palavras).

def definir_palavra
    texto = File.read("dicionario.txt")
    texto.split("\n")
    resposta2 = texto[rand(texto.size-1)]
    msg_palavra_foi_escolhida (resposta2)    
    resposta2
end
4 respostas
solução!

Luis, você não tá atribuindo as palavras a nenhuma variável.

palavras = texto.split("\n")
resposta2 = palavras[rand(palavras.size)]

E você não precisa colocar o -1 pois o número é não inclusivo. Por exemplo: rand(4) Ele só gera: 0,1,2 e 3.

Me diz que um dia isso vai fazer sentido pra mim auhahuhua. O.o

A 3ª linha do código que eu tinha colocado fazia uma operação na array e, se não fosse armazenada em uma variável, ela desaparecia da memória, é isso?

(Obrigado pela rapidez na resposta! :D)

Exatamente, tu faz o split, mas não salva ele em lugar algum. Ele se perde.