У меня есть простой Ruby script, который выглядит как
require 'csv'
while line = STDIN.gets
array = CSV.parse_line(line)
puts array[2]
end
Но когда я пытаюсь использовать этот script в конвейере Unix, как это, я получаю 10 строк вывода, за которым следует ошибка:
ruby lib/myscript.rb < data.csv | head
12080450
12080451
12080517
12081046
12081048
12081050
12081051
12081052
12081054
lib/myscript.rb:4:in `write': Broken pipe - <STDOUT> (Errno::EPIPE)
Есть ли способ написать Ruby script таким образом, чтобы исключить возможность исключения прерывистого канала?