Я пишу программу, в которой я принимаю файл csv через оператор <в командной строке. После того, как я прочитал файл, я также хотел бы задать пользователям вопросы и попросить их ввести свой ответ через командную строку. Однако всякий раз, когда я запрашиваю ввод данных пользователем, моя программа сразу пропускает его. </p>
Когда я искал переполнение стека, я обнаружил, что это версия Python здесь , но это мне не очень помогает, поскольку методы явно разные.
Я читаю свой файл, используя $ stdin.read. И я попытался использовать обычные get, STDIN.gets и $ stdin.gets. Однако программа всегда пропускает их.
Пример ввода ruby ./bin/kata < items.csv
Текущий файл
require 'csv'
n = $stdin.read
arr = CSV.parse(n)
input = ''
while true
puts "What is your choice: "
input = $stdin.gets.to_i
if input.zero?
break
end
end
Мой ожидаемый результат - отображение команды What is your choice:
и ожидание ввода пользователя. Тем не менее, я получаю эту фразу снова и снова в бесконечном цикле. Любая помощь будет оценена!