В этой конструкции же если два числа будут равны, то она всё равно будет работать. А если все числа будут равны, то об этом стоит предупреждать? Если да, то лучше методом IF или какой-то другой способ существует?
По кодстайлу отступы в 2 пробела, а не 4. После def, loop не нужна пустая строка. Идея с методами интересная, а вот оборачивать их в цикл не стоило. Нужно предусмотреть на choice = gets.chomp вариант, если пользователь введёт не нужную цифру, а какой-то мусор.