Я запрашиваю пользовательские вводы и проверяю эти входные данные, если проверка не проходит, я прошу пользователя ввести действительный ввод ...
Вот как я делаю это
begin
enter_user_first_name
is_first_name_valid?
enter_user_last_name
is_last_name_valid?.
enter_user_age
greater_than_eq_18?
enter_user_gender
gender_valid?
rescue => error
p error
retry
else
end
Здесь сначала Я ввожу ввод и затем проверяю, но проблема, с которой я сталкиваюсь, состоит в том, что, когда один оператор между ними терпит неудачу, он начинает выполнять все операторы блока begin снова, например, если пользователь вводит фамилию неправильно, он начинает спрашивать имя снова, вместо того, чтобы спрашивать просто фамилия.
Как я могу это сделать?