Conditional Branching Issues
- by Zack
Here is the code:
def main_menu
print_main_menu
user_selected = gets.chomp
if user_selected.downcase == "no"
main_menu
elsif user_selected == "1" || "2" || "3" || "4" || "5" || "6" || "7"
user_selected = user_selected.to_i
call_option(user_selected)
else
main_menu
end
end
This code uses calls to allow a user to make a selection from a main menu. Depending on the input, be it a certain number, a certain word, or something else, the respective method is called (in the case of a valid input) or the main menu is printed again (in the case of an invalid input or "no").
My questions are twofold.
1) Is there an efficient way to get rid of the literal string error that appears as a result of this redundant or statement on the elsif line? (the code itself works fine, but this error appears and is frustrating).
2) When an alternate/unspecified input is made by the user, the else branch doesn't execute and main_method doesn't start over. I have no idea why this is happening. Is there something I'm missing here?
Thanks