Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Integer x String O Laço for (loop)

Na aula "O Laço for (loop)" sobre repetição de algo. No exemplo do vídeo a variável "dedo" eu usei "Dedo" com "D" em caixa alta, o meu código quebrou.

for Dedos in 1..3
    puts "Contando " + dedos.to_s
end
teste01 davilson_od$ ruby teste1.rb
teste1.rb:2:in `block in <main>': undefined local variable or method `dedos' for main:Object (NameError)
    from teste1.rb:1:in `each'
    from teste1.rb:1:in `<main>'

Eu entendi que variável "dedo" era um número. As perguntas são; "for" quando usa, o que vem depois dele sempre se torna uma Integer ? Tenho que escrever textos ( Integer ) sempre em caixa baixa ? E como faço para ir a linha de baixo quando escrevo aqui no fórum ? para não ficar essa coisa feia... rs!

1 resposta
solução!

Olá Davilson!

Ruby é uma linguagem case-sensitive, isso quer dizer que a variável Dedo é diferente de dedo ou deDO. No geral seriam três variáveis diferentes.

Quando você criou Dedos, você criou uma constante. Constantes recebem apenas um valor e não pode ser mudado. Quando se tenta alterar uma constante, você recebe um Warning: warning: already initialized constant, mas no seu caso o código quebrou porque Dedos é diferente de dedos.

E para finalizar, para fazer a quebra de linha aqui no fórum, você deve dar duas quebras de linha, ou seja, dois .

Espero ter ajudado! Bons estudos!