-1

я начал делать небольшую игру для моего научиться рубин Трудный путь упражнений номер 43 и, прежде чем я сделал все классы я пытался делать это:Получение неинициализированный константы при генерации случайных чисел

def start 
    puts '''Times are tough and we need your help as much as ever. 
Plase tell me, what do you do for living? Are you maybe a: 
a. swift and strong skater 
b. wise and clever lawyer during his first year at University 
c. dreamer who only read one book but a good book and a communist commerade in one person''' 

    print "> " 
    class = $stdin.gets.chomp.downcase 
    if class == "a" || "skater" || "swift and strong skater" 

strenght = 5 + Random.rand(12) 
dexterity = Random.rand(9...17) 
inteligence = Random.rand(7..14) 
charisma = 2 + Random.rand(10) 

    puts '''Your stats are: 
      STRENGHT: #{strenght} 
      DEXTERITY #{dexterity} 
      INTELIGENCE #{inteligence} 
      CHARISMA #{charisma} 
      Good job! ''' 
      armory_room 
    end 
end 

Оно не работать, я получил : «неинициализированный постоянный» массаж. Я также пробовал:

charisma = 2 + Random.rand(10) 
puts "Pls work #{charisma}" 

Я снова получил «неинициализированный постоянный» массаж. Почему он не работает и как мне заставить его работать?

ответ

0

класс - это зарезервированное имя. Вы не можете использовать его как имя переменной. Попробуйте вместо этого использовать класс_.

+0

Ссылка на [ 'documentation'] (http://ruby-doc.org/core-2.2.3/doc/keywords_rdoc.html) для пинков. И FWIW, я обычно видел «класс» в этом сценарии. – orde

+0

Thx Я использовал ваш совет, имел больше ошибок, но теперь все работает. –

0

in ruby, class - зарезервированное ключевое слово. Лучшая практика использования

Klass

+0

Thx I переименовал переменную и нашел больше ошибок в формуле. Теперь работает. –