2016-04-01 4 views
-1

У меня есть дозорный управляемый цикл, который, кажется, не принимать в любом входе вообще:получает не получает входной сигнал в Рубине

response = " " 
until response == "x" do 
    puts" 
    Xargonia 
    ========= 
    (N)ew 
    (L)oad 
    (O)ptions 
    (Q)uit" 
    reponse = gets 
    puts response 

Когда он пытается вывести то, что пользователь набрал в нем только принимает то, что было используется для инициализации.

+0

Добро пожаловать на SO. Я бы посоветовал вам прочитать следующее: http://stackoverflow.com/help/how-to-ask. – orde

+1

Добро пожаловать в переполнение стека. Для нас это не важно, если вы новичок, нам все равно, занимались ли вы своими исследованиями и прилагали усилия и задали хороший вопрос. Пожалуйста, прочитайте «[ask]», включая последнюю связанную страницу, и «[mcve]». Ваш код не будет работать, поэтому он не соответствует требованиям второй ссылки о «[mcve]». –

+0

Пожалуйста, включите вывод, который вы получаете и выводите, которого вы ожидаете. Также вы можете попробовать использовать отладочный вывод. –

ответ

1

Помимо ошибок синтаксиса, вы назначаете значение gets на reponse вместо response. Кроме того, вы хотите, чтобы удалить символ новой строки из gets приковав String::chomp:

response = " " 
until response == "x" do 
    puts "        # add space between gets and double-quote 
    Xargonia 
    ========= 
    (N)ew 
    (L)oad 
    (O)ptions 
    (Q)uit" 
    response = gets.chomp    # rename reponse to response; chain .chomp 
    puts response 
end         # add missing end