Код никогда не вводите ни одного из операторов if - PullRequest
0 голосов
/ 07 марта 2011
begin
  selected_option = gets.chomp
  if selected_option == 1
    puts "Welcome to the Welcome Screen!"
  elsif selected_option == 2
    puts "This is the options menu."
  elsif selected_option == 3
    puts "Logging out. Goodbye!"
  else
    puts "Please select a valid option."
  end  
end while not selected_option == 3

Я ввожу 1, 2 или 3, и всегда получаю сообщение «Пожалуйста, введите верный вариант».Я предполагаю, что это потому, что метод chomp извлекает входные данные в виде строки.

Можно ли как-нибудь обойтись без кавычек вокруг параметров?

1 Ответ

3 голосов
/ 07 марта 2011
gets.chomp.to_i

Преобразует его в целое число.

Вы также можете использовать вместо этого переключатель:

begin
  selected_option = gets.chomp.to_i
  case selected_option
    when 1
      puts "Welcome to the Welcome Screen!"
    when 2
      puts "This is the options menu."
    when 3
      puts "Logging out. Goodbye!"
    else
      puts "Please select a valid option."
  end  
end while not selected_option == 3
...