CLI Data Gem с использованием Ruby - PullRequest
0 голосов
/ 14 октября 2019

Вопрос новичка здесь. Я работаю над своим первым проектом CLI Data Gem, который собирает живые данные с 2 веб-сайтов.

Пользователь может нажать «1», чтобы увидеть статью № 1, или «2», чтобы увидеть статью № 2. Пользователь может напечатать «список», чтобы увидеть заголовки обеих статей, расположенные друг над другом. Ввод «exit» должен выйти из приложения с «Увидимся завтра для большего количества статей».

Когда пользователь вводит буквально что-нибудь еще, программа должна сказать «Нет Bueno. Тип 1, 2, список или выход»

Пока нажатие «1» или «2» работает. Ввод "список" работает

Ошибка происходит, когда Я нажимаю "Выход" ..

Он будет говорить "Нет Буэно. Тип 1, 2, список или выход"(мое специальное сообщение об ошибке) и" Увидимся завтра для других статей. "

когда нужно просто сказать: «Увидимся завтра, чтобы узнать больше статей».


 def call
    list_items
    menu
    goodbye
  end

  def list_items
    # here doc - http://blog.jayfields.com/2006/12/ruby-multiline-strings-here-doc-or.html
    puts "Today's Designer News:"
    @articles = DesignerNews::Article.today
    @articles.each.with_index(1) do |article, i|
      puts "#{i}. #{article.title} - #{article.name} - #{article.date} - #{article.url}"
    end
  end

  def menu
    input = nil 
    while input !="exit"
      puts "Enter the number of the item you'd like to read, type list to see the list, or type exit:"
      input = gets.strip.downcase

      if input.to_i > 0 
        the_article = @articles[input.to_i-1]
        puts "#{the_article.title} - #{the_article.name} - #{the_article.date} - #{the_article.url}"
      elsif input == "list"
        list_items
      else
        puts "No Bueno. Type 1, 2, list, or exit"
      end
    end
  end

  def goodbye
    puts "See you tomorrow for more articles."
  end
end

любая помощь приветствуется.

1 Ответ

0 голосов
/ 14 октября 2019

Вы не проверяете вход exit внутри цикла. Изменение последнего else на это должно работать:

elsif input != "exit"
  puts "No Bueno. Type 1, 2, list, or exit"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...