Я новичок в ruby, и эта проблема некоторое время меня беспокоит. Всякий раз, когда я использую get для ввода пользовательского ввода, мой оператор gets выполняется сразу после запуска файла. Я использую git Bash для запуска моего файла file.rb,
puts "some unnecessary text"
puts "Hello world"
puts "now you should input something"
x = gets.chomp
puts 36
puts "your input is " + x + " right?"
программу должен напечатать первые 3 строки перед ожиданием ввода, но он ждет ввода сразу после того, как я его запустил
$ruby file.rb
|
, он ждет вечность, если я не нажму ввод. Если я напишу что-нибудь,
$ ruby file.rb
myInput
some unnecessary text
Hello world
now you should input something
36
your input is myInput right?
, все будет нормально. Так что я вынужден написать свой вклад в начале. Сейчас это не большая проблема, но когда я буду писать более крупный и сложный код, это вызовет много головной боли. Любые решения?
ps: Кажется, проблема возникает только с git Bash (windows). Powershell отлично работает.