【发布时间】:2011-02-20 04:34:54
【问题描述】:
我有一个看起来像这样的简单 Ruby 脚本
require 'csv'
while line = STDIN.gets
array = CSV.parse_line(line)
puts array[2]
end
但是当我尝试在这样的 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 脚本以防止出现损坏的管道异常?
【问题讨论】: