Проверьте правильность ввода в Ruby - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь получить действительный ввод от пользователя, используя некоторое время l oop. Поэтому, если ввод неверен, я хочу, чтобы сообщение об ошибке появлялось и повторялось каждый раз, когда пользователь не вводит действительный ввод

Вот мой код -

def suburb
#user prompt to get information for URL
  puts ' Hey there welcome to house_search! Please which suburb you would like to search...'
  puts '1. sub1 2. sub2'
    suburb_input = input
    while suburb_input != "1" or "2"
        p "please try again"
        suburb_input
    end
end

Кто-нибудь знает лучший способ сделать это?

1 Ответ

0 голосов
/ 06 апреля 2020

Вы хотите поместить gets в оператор while, чтобы он продолжал получать пользовательский ввод, пока вы не откажетесь от l oop.

def suburb
  puts 'Hey there welcome to house_search! Please choose which suburb you would like to search...'
  puts '1. sub1 2. sub2'
  while input = gets.chomp
    if input == '1' || input == '2'
      puts "Jolly good!"
      break # exits the loop
    else 
      puts "please try again" # the loop continues
    end 
  end
end

Остерегайтесь использования операторов or и and. Они имеют более низкий приоритет, чем || и &&.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...